是Java构造函数一种方法



这个问题确实令人困惑

a ________特殊方法,具有与类相同的名称,并且只要实例化类的对象,就会自动调用。答案:

  • 构造函数

  • setter

  • getter

  • 静态方法

我认为构造函数是唯一的名称与班级相同的名字,但是等等!构造函数并不是真正的方法,它与方法不同。因此,我读了这篇文章,得出的结论是,这个问题是错误的,我对吗?

Constructors实际上是一种特殊的方法,用于初始化新创建的实例的状态。当您创建一个类似的实例时: -

A obj= new A();

然后,使用new关键字创建了A类的实例,然后在该新创建的实例上调用构造函数A()

与那篇文章更远的是: -

构造函数在生活中有一个目的:创建一个实例 班级。

否这是错误的。构造函数不会创建实例,它的new关键字可以做到。然后构造函数初始化了如上所述所创建的实例的状态。

来自JLS - Section 8.8: -

构造函数由类实例创建表达式调用 (§15.9),通过字符串引起的转换和串联 串联操作员 (§15.18.1),并通过显式构造函数 来自其他构造函数的调用(§8.8.7)。

构造函数永远不会通过方法调用表达式调用 (§15.12)。

也来自Oracle教程

点Originone =新点(23,94);

以上语句有三个部分(以下详细讨论):

声明:BOLD中的代码是所有可变声明 将变量名称与对象类型相关联。
Intantiation :新关键字是创建的Java操作员 对象。
初始化:新操作员之后是对构造函数的调用, 初始化了新对象。

构造函数是特殊方法。它们与"正常"方法不同。但是它们是方法。看看这个:

public class A {    
    public A() {
        this(5); // calls A(int)
    }        
    public A(int arg) {
        // ...
    }        
}

相关内容

最新更新