Java 默认的构造函数头是什么
我是java新手,试图掌握有关默认构造函数的头的概念 圆圈中第一个构造函数的标题为:Java 默认的构造函数头是什么,java,Java,我是java新手,试图掌握有关默认构造函数的头的概念 圆圈中第一个构造函数的标题为: public Circle(String label, int radius) 如果决定向类添加默认构造函数。这个默认构造函数的头是什么 我在网上看过,但没有看到一个简洁的答案 如果决定向类添加默认构造函数 您没有决定添加默认构造函数。如果您根本不指定任何构造函数,编译器会为您添加一个构造函数 它添加的定义如下: 如果类不包含构造函数声明,则隐式声明默认构造函数。顶级类、成员类或本地类的默认构造函数的形式如下
public Circle(String label, int radius)
如果决定向类添加默认构造函数。这个默认构造函数的头是什么
我在网上看过,但没有看到一个简洁的答案
如果决定向类添加默认构造函数
您没有决定添加默认构造函数。如果您根本不指定任何构造函数,编译器会为您添加一个构造函数
它添加的定义如下:
如果类不包含构造函数声明,则隐式声明默认构造函数。顶级类、成员类或本地类的默认构造函数的形式如下所示:
- 默认构造函数与类具有相同的可访问性(§6.6)
- 默认构造函数没有形式参数,除非在非私有内部成员类中,默认构造函数隐式声明一个形式参数,表示类的直接封闭实例(§8.8.1,§15.9.2,§15.9.3)
- 默认构造函数没有throws子句
- 如果要声明的类是原始类对象,则默认构造函数的主体为空。否则,默认构造函数只调用不带参数的超类构造函数
Circle
是公共的,那么默认的签名将是:
public Circle()
e、 g.生成的完整版本为:
public Circle() {
super();
}
请记住,只有当另一个构造函数不存在时,才会添加默认构造函数。因此,如果类包含公共圆(字符串标签,int-radius),则编译器不会添加默认构造函数。如果需要,您必须自己显式添加此构造函数。您的意思可能是
签名
,而不是标题
-它将是公共圈()
你所说的构造函数头是什么意思?默认构造函数总是无参数的。@mszymborski:IfCircle
ispublic
@T.J.Crowder:谢谢,我不知道。总有一天我将不得不浏览整个JLS。非常感谢您抽出时间提供信息。