外部类一般以下两种修饰符:
public:修饰类可以被同一项目所有包中的所有类访问(类可见性)
默认:可被同一包中的类访问(包可见性)。
内部类使用以上四种
其中,关于protected特殊的地方:
当父类和子类不是同一包,子类可以通过创建子类对象,来访问父类的方法,但不能通过创建父类对象进行访问
常见的使用场景:
(如果一个类的构造方法只有一个,并且使用private修饰,这意味着不可以在类的外部创建对象。很多工具类如Arrays、Collections、Maths都是如此。
Java的反射技术可以突破封装的限制,即使private成员也可以被访问。)