【Java基础】Java中的权限修饰符,
【Java基础】Java中的权限修饰符,
Java语言中有4种访问权限修饰符,不管是类、方法、还是变量,都有访问修饰符。friendly(默认)、private、public和protected。
1.类的应用场景:
public:具有最大的访问权限,能被所有的类(接口、成员)访问。
应用场景:如果涉及到包之间的业务逻辑的调用,考虑public修饰类,属性。
protected:只能被本类、同一个包中的类访问;如果在其他包中被访问,则必须是该成员所属类的子类。
应用场景:如果涉及到同包下类之间的调用或者需要提供继承复写扩展的业务方法,考虑使用protected修饰。
private:成员变量和方法都只能在定义它的类中被访问,其他类都访问不到。
应用场景:如果只想类内部调用,那就可以使用private。
friendly(缺省):访问权限与protected相似,但修饰类成员时不同包中的子类不能访问。 如果只想在同包下使用且不想继承复写,我们考虑默认default(不写修饰符)即可。
2.修饰变量的场景:
公共变量(Public):凡是被public修饰的成员变量,都称为公共变量,它可以被任何类所访问。即允许该变量所属的类中所有方法访问,也允许其他类在外部访问。
保护变量(protected):凡是被protected修饰的变量,都被称为保护变量。除了允许在本类的内部访问之外,还允许它的子类以及同一个包中的其他类访问。
私有变量(private): 凡是被private修饰的成员变量,都称为私有变量。它只允许在本类的内部访问,任何外部类都不能访问它。
默认访问变量:如果在变量前不加任何访问权修饰符,它就具有默认的访问控制特性,也称为friendly变量。它和保护变量非常像,它只允许在同一个包中的其他类访问, 即便是子类,如果和父类不在同一包中,也不能继承默认变量(这是默认访问变量和保护变量的唯一区别)。因为它限定了访问权限只能在包中,所以也有人称默认 访问权限为包访问权限。
相关文章
- 暂无相关文章
用户点评