1. Java中访问修饰符
class="java" name="code">
1. public
(1) public是公共的,被public修饰的成员可以被所有类访问到。
(2) public修饰的成分
public修饰类,在一个java文件中只能有一个类被声明为public,而且一旦有一个类为public,这个java文件的文件名就必须要和这个被public所修饰的类的类名相同,否则不能通过编译。一个类作为外部类只能被public或者默认访问修饰符修饰,如果作为内部类则可以被四种访问修饰符修饰。
public修饰变量和方法,被public所修饰的成员可以在任何类中都能被访问到,通过操作该类的对象能随意访问public成员。
public在类的继承中,被public所修饰的不同名成员可以被所有的子类继承,同名成员会被覆写。
2. protected
(1) protected是受保护的,受到该类所在的包所保护。
(2) 被protected所修饰的成员会被位于同一package中所有类访问到。被protected所修饰的成员会被该类的所有子类继承下来。
3. default(friendly)
(1) 默认的(友好的),不写任何的访问修饰符。
(2) 会被位于同一package中所有类访问到。被friendly修饰的成员只能被给类所在同一package中的子类所继承下来,也就是同一package中的子类才能访问到父类中friendly修饰的成员。
4. private
(1) private是私有的,即只能在当前类中被访问到。
四个访问控制符的作用域:
作用域 当前类 同一package 子类 其他package类
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×