欢迎来到天天文库
浏览记录
ID:21904290
大小:271.38 KB
页数:9页
时间:2018-10-25
《4.构造方法与匿名对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、课程名称:构造方法与匿名对象2、知识点2.1、上次课程的主要知识点1、private声明属性只能够被类的内部所访问;2、private声明属性必须有对应的setter、getter方法,而且方法名称要求按照严格标准编写。2.2、本次预计讲解的知识点1、构造方法的作用以及定义要求;2、匿名对象使用;3、具体内容()3.1、构造方法首先一起来看一个格式,实例化对象操作。类名称对象名称=new类名称();每个组成部分的意义:·“类名称”:用于标记对明的类型,因为对象开辟空间后需要开辟堆内存,堆内存保存属性,属性在类中定义。·“对象名称”:如果要想操作类中的属性或者方法,那么必须
2、依靠对象名称完成。·“new”:开辟新的堆内存空间,一定使用new完成;·“类名称()”:只要出现”()”的都表示方法,这个实际上就是构造方法。构造方法的定义要求:·要求方法名称与类名称相同,并且没有返回值类型声明。范例:构造方法基本定义classStudent{publicStudent(){//方法名称与类名称相同,无反回值声明System.out.println("*************************");}}publicclassJavaDemo{publicstaticvoidmain(Stringargs){Studentstu=null;//声明对
3、象stu=newStudent();//实例化对象调用构造方法}}通过以上代码执行可以发现,所有类中的构造方法都在使用关键字new实例化新对象的时候才会使用到。一使用new就需要构造方法。但是在之前没有定义构造方法。实际上在进行java代码的编译过程中,系统会自动加入一些代码。所以这个时候如果发现你现在的类中并没有定义构造方法,那么系统会自动帮助用户提供一个无参的什么都不做的构造方法,类似于如下形式publicStudent(){//方法名称与类名称相同,无反回值声明}这样就可以保证每一个类中都一定会至少存在一个构造方法。所有的类都会有构造方法,但是至少是一个,但是这个构造方
4、法有什么用呢?构造方法是在使用关键词new实例化对象的时候才会被调用,那么实例化对象的时候实际上也就属于内存空间的开辟,也就属于属性的初始化过程。但是发现,默认情况下属性初始化的内容都是其对应数据类型的默认值。所以如果现在可以在对象实例化时传递一些属性的内容,那么可以依靠构造方法完成。范例:通过构造设置属性内容classPerson{//现在定义了一个类//定义类中的两个属性privateStringname;//表示人的姓名privateintage;//表示人的年龄publicPerson(Stringn,inta){//定义有参构造方法SetName(n);SetAge
5、(a);}publicvoidtell(){System.out.println("姓名:"+name+",年龄:"+age);}publicvoidSetName(Stringn){name=n;}publicvoidSetAge(inta){if(a>=0&&a<=250){age=a;}}publicStringgetName(){returnname;}publicintgetAge(){returnage;}}publicclassTestDemo{//另外一个类publicstaticvoidmain(Stringargs[]){Personper=newPers
6、on("哪咤",-30);per.tell();}}此时程序在实例化Person类对象的时候会自动的将name与age属性传递到对应的属性之中,这样做的好处相当于省略了一系列的setter调用。疑问?既然构造方法没有返回值,为什么不使用void声明?构造方法是在实例化对象的时候只调用一次,而所有的普通方法呢?可以利用对象调用多次。如果说构造方法定义为:publicvoidPerson(){},这就属于普通方法了。构造方法本身就属于方法,那么既然属于方法那么方法就一定可以重载。而幸运的是,构造方法重载的时候不需要考虑方法名称,必须和类名称一样,只需要考虑参数类型或个数即可。//
7、定义类中的两个属性privateStringname;//表示人的姓名privateintage;//表示人的年龄publicPerson(){}publicPerson(Stringn){//单参构造方法SetName(n);}publicPerson(Stringn,inta){//定义有参构造方法SetName(n);SetAge(a);}但是在进行构造方法重载的时候需要注意一点:按照参数的个数顺序降序或升序排列。以上的代码我们发现重载方法是按照参数个数的升序顺序排列。而且需要注意:类中的基本组成
此文档下载收益归作者所有