Java实习面试:访问修饰符

  1. default:在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法
  2. private:在同一类内可见。使用对象:变量,方法
  3. public:对所有类可见。使用对象:类,接口,变量,方法
  4. protected:对同一包内的类和所有子类可见。使用对象:变量,方法

默认访问修饰符-不使用任何关键字

使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为

public static final

而接口里的方法默认情况下访问权限为

public
同包访问
不同包访问

私有访问修饰符-private

私有访问修饰符是最严格的访问权限,被声明为private的方法,变量和构造方法只能被所属类访问,并且类和接口不能声明为private。

声明为私有访问类型的变量只能通过类中公共的getter方法被外部类访问。private访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。

公有访问修饰符-public

被声明为public的类,方法,构造方法和接口能够被任何其他类访问。

如果几个相互访问的public类分布在不同的包中,则需要导入相应public类所在的包。由于类的继承性,类所有的公有方法和变量都能被其子类继承。

受保护的访问修饰符-protected

  • 子类与基类在同一包中:被声明为protected的变量,方法和构造器都能被同一个保重的任何其他类访问。
  • 子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的protected方法,而其他类不能访问基类实例的protected方法。
不同包中无法访问
同包中可以访问

参考

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.