当前位置: 技术问答>java相关
"new" 的相关问题
来源: 互联网 发布时间:2017-04-19
本文导语: class M1 { ..... } class M2{ private M1 newM1 = new M1; private M1 newM2; //M1,M2有什么区别? } | 两个类 | M1 newM1 = new M1; 声明了一个指向M1类行的reference,并将它指向一个新创建的M1...
class M1 {
.....
}
class M2{
private M1 newM1 = new M1;
private M1 newM2;
//M1,M2有什么区别?
}
.....
}
class M2{
private M1 newM1 = new M1;
private M1 newM2;
//M1,M2有什么区别?
}
|
两个类
|
M1 newM1 = new M1;
声明了一个指向M1类行的reference,并将它指向一个新创建的M1对象
换种理解,搞诉你这有个遥控器,它控制的是某台彩电
M1 newM2;
仅仅是声明了一个指向M1类型的refernce
这个就只说,这有个遥控器
呵呵,不知道说明白了没有
声明了一个指向M1类行的reference,并将它指向一个新创建的M1对象
换种理解,搞诉你这有个遥控器,它控制的是某台彩电
M1 newM2;
仅仅是声明了一个指向M1类型的refernce
这个就只说,这有个遥控器
呵呵,不知道说明白了没有
|
这句话要分开看:
private M1 newM1;
newM1 = new M1();
M1和M2分别是定义的两个类
private M1 newM1;的意思是声明一个"引用"名为newM1,该"引用"的类型是M1,其访问权限是私有的
newM1 = new M1();
构造一个M1的对象( new M1() ),并且将这个对象的内存地址赋值给newM1,这样newM1这个"引用"就指向了刚刚构造的这个对象
private M1 newM1;
newM1 = new M1();
M1和M2分别是定义的两个类
private M1 newM1;的意思是声明一个"引用"名为newM1,该"引用"的类型是M1,其访问权限是私有的
newM1 = new M1();
构造一个M1的对象( new M1() ),并且将这个对象的内存地址赋值给newM1,这样newM1这个"引用"就指向了刚刚构造的这个对象
|
M1 newM1 = new M1();之后,才为newM1分配了内存单元,才可以对newM1进行操作、访问,而M1 newM2;之后,还没有为newM2分配内存单元,不能对其进行操作、访问,否则编译会报错!
—————————————————————————————————
┏━★━━◆━━★━┓
♂欢|◢CSDN◣|使♂ ▲自由保存帖子,浏览,关注检测
┃迎|◥论坛助手◤|用┃ ▲完善的CSDN客户端工具
┗━☆━━◇━━━☆┛ ▲自动添加签名......
让你更快,更爽,更方便地上CSDN...
http://www.csdn.net/expert/topic/573/573604.xml
http://www.chinaok.net/csdn/csdn.zip
—————————————————————————————————
┏━★━━◆━━★━┓
♂欢|◢CSDN◣|使♂ ▲自由保存帖子,浏览,关注检测
┃迎|◥论坛助手◤|用┃ ▲完善的CSDN客户端工具
┗━☆━━◇━━━☆┛ ▲自动添加签名......
让你更快,更爽,更方便地上CSDN...
http://www.csdn.net/expert/topic/573/573604.xml
http://www.chinaok.net/csdn/csdn.zip
|
newM1和newM2都是M1对象的句炳(reference)。
不同的是newM1指向了由new M1()创建的M1对象实例
而newM2则是一个空句炳,它的值为null。
newM1----->|M1实例|
newM2----->null
不同的是newM1指向了由new M1()创建的M1对象实例
而newM2则是一个空句炳,它的值为null。
newM1----->|M1实例|
newM2----->null