public class Three3_3
{
static int x1 = 4 ;
int x2 = 5 ;
public static void main(String args[])
{
Three3_3 obj1 = new Three3_3() ;
Three3_3 obj2 = new Three3_3() ;
obj1.x1 = obj1.x1 + 2 ;
obj1.x2 = obj1.x2 + 4 ;
obj2.x1 = obj2.x1 + 1 ;
obj2.x2 = obj2.x2 + 6 ;
System.out.println("obj.x1 = " + obj1.x1) ;
System.out.println("obj2.x2 =" + obj1.x2) ;
System.out.println("obj2.x2 =" + obj2.x2) ;
System.out.println("Three3_3.x1 =" + Three3_3.x1) ;
}
}运行的结果怎么是:
obj.x1 = 7
obj2.x2 =9
obj2.x2 =11
Three3_3.x1 =7怎么不是这样的呢?
obj.x1 = 2
obj2.x2 =9
obj2.x2 =11
Three3_3.x1 =7哪位帮解释一下!!!!
{
static int x1 = 4 ;
int x2 = 5 ;
public static void main(String args[])
{
Three3_3 obj1 = new Three3_3() ;
Three3_3 obj2 = new Three3_3() ;
obj1.x1 = obj1.x1 + 2 ;
obj1.x2 = obj1.x2 + 4 ;
obj2.x1 = obj2.x1 + 1 ;
obj2.x2 = obj2.x2 + 6 ;
System.out.println("obj.x1 = " + obj1.x1) ;
System.out.println("obj2.x2 =" + obj1.x2) ;
System.out.println("obj2.x2 =" + obj2.x2) ;
System.out.println("Three3_3.x1 =" + Three3_3.x1) ;
}
}运行的结果怎么是:
obj.x1 = 7
obj2.x2 =9
obj2.x2 =11
Three3_3.x1 =7怎么不是这样的呢?
obj.x1 = 2
obj2.x2 =9
obj2.x2 =11
Three3_3.x1 =7哪位帮解释一下!!!!
int x ;
public Three3_32(int x1)
{
x = x1 ;
}
public static void main(String args[])
{
Three3_32 m1 = new Three3_32(4) ;
Three3_32 m2 = new Three3_32(4) ;
Three3_32 m3 = m2 ;
m3.x = 6 ;
System.out.println("m1 = m2 is" + (m1 == m2)) ;
System.out.println("m2 = m3 is" + (m2 == m3)) ;
System.out.println("m1.x == m2.x is" + (m1.x == m2.x)) ;
}运行结果为:m1 = m2 isfalse
m2 = m3 istrue
m1.x == m2.x isfalse
理由???
{
static int x = 5 ;
static {x += 10 ;}
public static void main(String args[])
{
System.out.println("x = " + x);
}
static { x = x-5 ;}
}运行结果是 : 10 ;
有点模糊!!
obj1.x1 = obj1.x1 + 2 ;//obj1.x1==obj2.x1=4+2=6
obj1.x2 = obj1.x2 + 4 ;//obj1.x2=5+4=9
obj2.x1 = obj2.x1 + 1 ;//obj2.x1=6+1=7,Three3_3.x1=7
obj2.x2 = obj2.x2 + 6 ;//obj2.x2=5+6=11
m1和m2是2个不同的Three3_32对象m1 == m2为f
m2的引用副给m3,m3也指向m2,m2 == m3 为T
由于m2和m3指向同一个对象,m3.x = 6改变了m2.x的值m1.x == m2.x为F
3、初始化顺序
x=5,x+=10->x=15,x=x-5->x=10
47页有对你这个问题介绍
在附录A有解释.
当一个陷阱...
首地址不同