日期:2014-05-20  浏览次数:20905 次

难辨作用
public class Lei1{
       int a;
}
public class Lei2{
       public static void main(String[] s){
           lei1 we1;
           lei1 we2=new lei1();
           we1.a=4;
           we2.a=5;
}
}
问题:we1.a  和 we2.a  若从作用上来说达到的效果一样吗,

------解决方案--------------------
很明显,  we1.a=4;这句连编译都不能通过,we1不是new的对象,怎么能调用Lei1的属性呢?
------解决方案--------------------
编译应该能够过吧,不过肯定是要空指针的了。
------解决方案--------------------
Lei1 we1=new Lei1; 不new编译透通不过 没初始化
new了            we2.a=5;不会使we1.a变成5,因为一个对象有一个a的副本
           
------解决方案--------------------
楼主这写的问题太多了,看看命名规范吧

还有,we1.a=4;编译不过去的。we1只是声明了,并没有指向相应的对象

就你的问题面言,new出来的对象,他们之间的属性是没有任何关系的,除了你是单例的对象