Java访问控制符
Java访问控制符修饰的对象可以分为两类:class和member(包括method和field)
一. 修饰class
- public:该类对所有类可见。
- default(不加修饰符):该类对同一个包下的类可见。
对于class不存在private 和 protected 修饰。
二. 修饰member
- public和defalut的作用和class相同
- private:仅自己这个类可以访问。
- protected:同包下的类和不同包下的子类可以访问。
需要注意的是protected修饰的成员,对于不同包下的子类来说,只能访问它自身继承的protected成员。举例来说:Object超类中有clone方法,该方法是protected的,所有类都是Object类的子类,但是任何一个类,比如A类,他只能访问A.clone(),而不能访问其他类的clone(),比如在A类中调用Object.clone()是不被允许的。
标签:Java,clone,控制符,访问,protected,class From: https://www.cnblogs.com/sjw-blogs/p/16923386.html第二点需要注意的是,访问控制只存在于编译阶段,字节码文件中不存在与访问控制相关的信息。这也是为什么可以通过运行时的访问机制来访问private字段的原因。