【发布时间】:2019-07-15 16:22:20
【问题描述】:
我是初学者,我正在尝试继承另一个类中变量的值。我得到的值是 0,应该是 10。
头等舱:
public class assignment
{
int var = 10;
public static void main(String[]args)
{
initialize pere = new initialize();
System.out.println(" ");
System.out.println(" pere.invariable: "+pere.invariable);
}
}
Second Class 从类分配继承 var:
public class initialize
{
public static int invariable;
public static void main(String[]args)
{
assignment variable = new assignment();
System.out.println(" variable.var : " + variable.var);
invariable = variable.var;
System.out.println(" invariable: " + invariable);
}
}
为什么是pere.invariable = 0 而我却继承了= 10 的不变量(第二类)?
【问题讨论】:
-
请考虑使用代码块使您的示例代码更具可读性。
-
@Andreas 我以为我在那个格式错误的代码转储中发现了“扩展”。
-
您有两个
main方法,但其中只有一个执行设置invariable值的代码,而且它不是您正在执行的那个。 -
您询问的是
pere.invariable,它只存在于方法main的assignment版本中。由于 2 个main方法完全相互独立,所以initialize版本的方法main中的任何代码都不会被执行,那么您为什么期望该值不是0的默认值? -
安德烈亚斯是完全正确的:这里发生了零继承。将一个 int 分配给另一个不会“连接”这两个字段。您只需分配值,!?
标签: java