变量的继承值为0

时间:2019-07-15 16:22:20

标签: java

我是一个初学者,我试图继承另一个类中变量的值。我得到的值是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?

1 个答案:

答案 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的政策是不直接回答关于学校作业的问题,但是我希望这个答案至少可以帮助消除一些困惑,并帮助您指出正确的方向。