我是一个初学者,我试图继承另一个类中变量的值。我得到的值是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);
}
}
第二个类从类分配继承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?
答案 0 :(得分:1)
我认为这里的困惑源于几个地方。
这里没有继承发生。继承是类发生的事情。例如,
public class A {}
// B extends A
public class B extends A {}
一个类的“入口”通常是它的构造函数。 main
不是构造函数,它是Java应用程序的入口点(它是主要功能)。构造函数是标有类名称的函数。例如:
public class B {
public B() {
// I am inside a constructor
}
}
您的代码现在位于的位置,initialize
主函数从不被调用。您要么需要从assignment
主函数中手动调用它,要么需要将其变成一个构造函数(如本例所示,更改其名称并删除static修饰符)。
这看起来像是学校的作业。据我所知,StackOverflow的政策是不直接回答关于学校作业的问题,但是我希望这个答案至少可以帮助消除一些困惑,并帮助您指出正确的方向。