http://www.i2i.org.cn/webexhibit/70925.jpg
请看5和6
6中说public类中的默认构造方法是public,为什么后面又说“如果一个public类定义构造方法中没有public” 不是默认为public吗?
请看5和6
6中说public类中的默认构造方法是public,为什么后面又说“如果一个public类定义构造方法中没有public” 不是默认为public吗?
private A(){
}}这个就叫做“public类定义构造方法中没有public”
因为默认的构造函数被覆盖了
A(){
}
}
默认试public啊,就是你不加public,就是public
A(){
}
}
我给的也是一个覆盖
A(){
}
}
鍜?
public class A{
public A(){
}
}
涓嶆槸涓€鏍风殑鍚楋紝浣犲摢閲岃閿欎簡锛?
A(){
}
}
和
public class A{
public A(){
}
}
不是一样吗,你有什么错?
"系统自动生成的"默认构造方法
和默认构造方法搞混了
很多书上把不带参数的构造方法称作默认构造方法
有的书直接把"系统自动生成的"默认构造方法就叫默认构造方法
结果弄的乱七八糟的.楼主的那张图,前面那个圈里指的是你自己没有写任何构造方法,系统为你自动生成的构造方法,其可见度是同类的可见度的. 后面那个圈里指的是你自己明确写出来的构造方法,这样一来系统就不会为你自动创建前面说的那个构造方法.如果你自己写的构造方法中没有public的,即便是public的类也没有public的构造方法...
A(){
}
}
和
public class A{
public A(){
}
}
能一样吗?
A(){
}
}
这个只是一个覆盖,无参数的构造函数。默认的构造函数是没有方法内容的,
而你在A()里面却可以加方法体。
public class A{
A(){
}
}
应该跟这个一样吧
public class A{
protected A(){
}
}
放在不同包里就调不到了