日期:2014-05-20  浏览次数:20636 次

有一张表,似乎和书上的有些内容矛盾
http://www.i2i.org.cn/webexhibit/70925.jpg
请看5和6
6中说public类中的默认构造方法是public,为什么后面又说“如果一个public类定义构造方法中没有public”   不是默认为public吗?


------解决方案--------------------
public class A{
private A(){
}

}

这个就叫做“public类定义构造方法中没有public”
因为默认的构造函数被覆盖了
------解决方案--------------------
public class A{
A(){
}
}
默认试public啊,就是你不加public,就是public

------解决方案--------------------
不要把
"系统自动生成的 "默认构造方法
和默认构造方法搞混了
很多书上把不带参数的构造方法称作默认构造方法
有的书直接把 "系统自动生成的 "默认构造方法就叫默认构造方法
结果弄的乱七八糟的.

楼主的那张图,前面那个圈里指的是你自己没有写任何构造方法,系统为你自动生成的构造方法,其可见度是同类的可见度的. 后面那个圈里指的是你自己明确写出来的构造方法,这样一来系统就不会为你自动创建前面说的那个构造方法.如果你自己写的构造方法中没有public的,即便是public的类也没有public的构造方法...