嗨,我想了解该程序的执行流程。我是Java编程和学习构造函数的新手。
我的疑问是,当对象obj调用构造函数并将值10和jack分配给x和y时,是不是当创建下一个对象obj2时,它将值替换为12并在x和y中设置哑光?因此,因为在此之后调用了call()方法,所以它不应该将12和matt都打印为
打印是打印x和y吗?
class Constructor2 {
int x;
String y;
Constructor2(int i, String s){
x = i;
y = s;
}
void call(){
System.out.println("roll no is "+ x + " name is " + y);
}
public static void main(String args[]) {
Constructor2 obj = new Constructor2(10, " jack ");
Constructor2 obj2 = new Constructor2(12, " matt ");
obj.call();
obj2.call();
}
}
最佳答案
变量x和y是实例变量,这就是为什么它们链接到创建的对象。它们不会影响其他对象或类。
如果已经将它们设置为静态变量,则称为类变量,如..
static int x;
static String y;
..您担心的内容将被覆盖。