嗨,我想了解这个程序的执行流程。我是Java编程和学习构造函数的新手。
我的疑问是,当对象 obj 调用构造函数并将值 10 和 jack 分配给 x 和 y 时,那么当创建下一个对象 obj2 时,它是否会将 x 和 y 中的值替换为 12 和 matt ?因此,既然 call() 方法是在这之后被调用的,那么它是不是应该将 12 和 matt 打印到这两个调用中作为 print 正在打印 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;
..正如您所担心的那样,内容将被覆盖。
关于java - java新手想了解执行流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319186/