在下面的程序中,这个(1)和这个(2)的目的是什么?

0 java methods this

在下面的程序中我使用了这个(1)和这个(2)使用这个(1)和这个(2)的目的是什么,我也想知道这是一个关键字或方法?我是新手java编程语言.

class Const
{
    Const()
    {
        this(1);
        System.out.println(1);

    }
    Const(int x)
    {
        System.out.println(2);
    }
}
class const1 extends Const
{
    int a;
    const1()
    {
        this(8);
        System.out.println(3);

    }
        const1(int x)
    {

        System.out.println(4);

    }
    public static void main(String s[])
    {
        new const1();
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_*mas 5

这些是备用构造函数调用.它们在同一个类中调用另一个构造函数.这允许多个构造函数共享相同的代码以实现常见行为.没有它,你有时会被迫重复自己.

例如:

Const()
{
    this(1);
    ...
}
Run Code Online (Sandbox Code Playgroud)

使用实际参数"1"调用此构造函数:

Const(int x) { ... }
Run Code Online (Sandbox Code Playgroud)

您可以super()以类似的方式使用关键字来调用超类构造函数.

从Java语言规范,8.8.7.1,显式构造函数调用:

显式构造函数调用语句可以分为两种:

替代构造函数调用以关键字this开头(可能以显式类型参数开头).它们用于调用同一类的备用构造函数.

超类构造函数调用以关键字super(可能以显式类型参数开头)或Primary表达式开头.它们用于调用直接超类的构造函数.