Java中set,get和构造函数求解?

Java中set,get和构造函数求解?
class Test
{
private int num = 1;
Test(int x)
{
this.num = x+1;
System.out.println(num);
}
public void setNum(int num)
{
this.num=num+2;
}
public int getNum()
{
return num;
}
}
class TestDemo
{
public static void main(String[] args)
{
Test t = new Test(1);
Test t0 = new Test(2);
Test t1 = t;
Test t2 = t;
System.out.println(t.getNum());

}
}
为什么t.getNum()是2呢?而不是4呢?
你在创建对象的时候就穿入了一个1;1+1那么就等于2啊。你取的就是t对象的num当然为2
Test t = new Test(1); 这句话执行 new 时明没携 先执察竖行Test(int x){} 构造函数对对象进行初始化
num变为2

System.out.println(t.getNum()); 直接返回num 为2

想输激伏出4 执行
t.setNum(2);
System.out.println(t.getNum());
输贺友侍出的是t.getNum();只在Test(int x)
{
this.num = x+1;
System.out.println(num);
}这儿运行一告迅次禅吵,其余地方不变
← 上一篇: 下一篇: →