欢迎关注我的博客www.taomaipin.com
?
其实 在面试中经常有hr问 java有几种访问权限修饰符,而且频率丝毫不亚于被问到 java有几种基础数据类型的频率,这些知识最基本最基础的,
我想 等你们去面试的时候 一定会碰到,那么接下来咱们就说说java访问权限修饰符。
在前几章里大家一定看到了我举的例子,比如 如果定义一个类或者定义一个变量或者定义一个方法等等 基本上 前面都有public priotected
private 或者什么也不写(java默认修饰符就是什么也不写例如定义一个类:class Tv{}) ,Java语言4种访问权限修饰符,但是仅有3个关键字,因
为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替。
1)private 私有权限,它可以修饰成员变量 ,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能
在定义它们的类中使用,在其他类中不能调用。
例如:class Tv{
private String name;
public static void main(String[] atgs){
Tv t = new Tv();
t.name="我是电视机";
?
}
}
?
只能Tv这个类的对象能调用它其它类 都不可以
2)默认访问权限(defalut),它可以修饰类,成员变量,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权
限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。
3)protected ?受保护权限 ?protected可以修饰成员变量,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected
修饰的成员,能在定义它们的类中,同包的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
4)公共权限修饰符 public?可以修饰类,成员变量,构造方法,方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或不
同、包,是权限最大的一个修饰符
上面说了那么多 我想 对于初学者一定很绕那么 我给大家举一张图 就一目了然了 如下图
?
现在特别要注意以下
1.并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
2.所有修饰符都可以修饰成员变量,方法成员,构造方法。
3.为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,如果没有特殊需要,尽可能用private.
4.修饰符修饰的是“被访问”的权限。
?欢迎来到访问我的博客www.taomiapin.com