【发布时间】:2020-08-07 15:03:49
【问题描述】:
package java_course;
public class staticVsInstance {
static int x = 11;
private int y = 33;
public void method1(int x) {
staticVsInstance t = new staticVsInstance();
System.out.println("t.x "+t.x + " " +"t.y "+ t.y + " " +"x "+ x + " "+"y " + y);
this.x = 22;
this.y = 44;
System.out.println("t.x "+t.x + " " +"t.y "+ t.y + " " +"x "+ x + " "+"y " + y);
}
public static void main(String args[]) {
staticVsInstance obj1 = new staticVsInstance();
System.out.println(obj1.y);
obj1.method1(10);
System.out.println(obj1.y);
}
}
输出是
33
t.x 11 t.y 33 x 10 y 33
t.x 22 t.y 33 x 10 y 44
44
this.y 指的是method1 中的obj1.y 还是t.y?
为什么更改this.y 对t.y 没有任何影响?
【问题讨论】:
-
y不是静态的,这意味着每个对象都有不同的实例,t对象与this对象是不同的对象。 -
感谢您的回答。您的回答非常有帮助
标签: java static this instance-variables