首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

构造函数,值传接与引用传递

2012-12-19 
构造函数,值传递与引用传递1.构造函数的语法格式(又称为:构造方法和构造器)?//定义构造函数?public 构造函

构造函数,值传递与引用传递

1.构造函数的语法格式(又称为:构造方法和构造器)
?//定义构造函数
?public 构造函数名([参数类型? 参数名,...]){//注意:构造函数名必须和类名一样。
??//函数体
?}

?

2.构造函数的用途
?创建对象的格式:类名? 对象名? =? new? 构造函数名();
?Java会给每一个class提供一个默认的构造函数,默认的构造函数就是一个不带参数的构造函数。
?1.构造函数是用来创建对象的。
?2.构造函数可以给属性赋值。

?如果自定义了构造函数,则会把默认的构造函数覆盖掉,如果还想使用默认的构造函数,可以再定义一个不带参数的构造函数,这种情况,称之为构造函数重载。

?

3.构造函数和普通方法的区别
?1.构造函数没有返回值类型,普通方法必须要有返回值类型。
?2.构造函数的函数名必须和类名相同,普通方法的方法名可以由自己定义。
?3.构造函数是用来创建对象的,普通方法是由对象名来调用执行某一个功能的。
?4.创建一个对象会使用一次构造函数,普通方法可以被一个对象多次调用。

?

4.this关键字?
?this关键字是用来区分属性和参数的。加上this关键字的是属性,没有加的则是参数
?this关键字是用来表示当前的对象。谁在调用方法,那么方法中的this就表示这个对象。

?

5.值传递和引用传递
?? 值传递:适用于Java的基本数据类型short,int,long,float,double,char,byte,boolean还包括String类型。
?? 值传递是将变量age的值拷贝一份存入到变量i_age中,这样两个变量中就存储了两个值,对其中的任何一个做修改,对另一个是没有影响的。

?? 引用传递:适用于Java的类类型,包括所有用class定义的类,但是String除外。
?? 引用传递是将p对象名中存储的内存地址拷贝一份存入到p1中,这样两个对象名的地址就完全相同了,其中任何一个对象名去修改对象的数据时,因为另一个对象名的地址也是相同的,所以数据发生了改变。(就是给对象另外起了一个别名)。
????? p的地址赋给p1后,之前p1的对象并没有发生改变。

?

?

? 构造函数、this与传递虽不是太抢眼的学习的内容,确实构成大楼最基础的地基,最坚实的基础,内容虽不算复杂,却一定要彻底弄清楚区别,不要造成以后学习的障碍。

?

?

热点排行