class test{
int k;
public test(){
.........//程序段,算出k的值
}
public int getK(){
return k;
}
}class try{
public try(test t){
System.out.print(t.getK());
}
}
在另外一个类里调用test test1 = new test();
test test2 = test1;//这里有一个疑问?test2会不会执行test内构造函数的程序段,还是直接能得出k的值
try try1 = new try(test2);//这里也有一个疑问?这样,在try里,t会不会执行test内构造函数的程序段,还是直接能得出k的值
int k;
public test(){
.........//程序段,算出k的值
}
public int getK(){
return k;
}
}class try{
public try(test t){
System.out.print(t.getK());
}
}
在另外一个类里调用test test1 = new test();
test test2 = test1;//这里有一个疑问?test2会不会执行test内构造函数的程序段,还是直接能得出k的值
try try1 = new try(test2);//这里也有一个疑问?这样,在try里,t会不会执行test内构造函数的程序段,还是直接能得出k的值
public T(Test t){
System.out.println(t.getK());
}
}public class Test
{
int k;
public Test()
{
k = (int)(Math.random()*10 + 1);
}
public int getK()
{
return k;
}
public static void main(String[] args)
{
Test test1 = new Test();
Test test2 = test1;
T try1 = new T(test1);
T try2 = new T(test2);
}
}将输出一样的结果