【Java基础】Java中的访问权限,
【Java基础】Java中的访问权限,
前言
Java语言中有4种访问权限修饰符,不管是类、方法、还是变量,都有访问修饰符。friendly(默认)、private、public和protected,看一下它们的应用场景。叙述
类
应用场景:
public:具有最大的访问权限,能被所有的类(接口、成员)访问。应用场景:如果涉及到包之间的业务逻辑的调用,考虑public修饰类,属性。
protected:只能被本类、同一个包中的类访问;如果在其他包中被访问,则必须是该成员所属类的子类。
应用场景:如果涉及到同包下类之间的调用或者需要提供继承复写扩展的业务方法,考虑使用protected修饰。
private:成员变量和方法都只能在定义它的类中被访问,其他类都访问不到。
应用场景:如果只想类内部调用,那就可以使用private。
friendly(缺省):访问权限与protected相似,但修饰类成员时不同包中的子类不能访问。
如果只想在同包下使用且不想继承复写,我们考虑默认default(不写修饰符)即可。
具体的代码:
java中4种修饰符访问权限的区别及详解全过程成员变量
通过概念看区别
访问权限修饰符声明了成员变量的访问权限。Java提供的显示的访问权限修饰符有3种,分别是:私有(private)、保护(protected)和公共(public)。除此之外,还有一种默认的访问权限:friendly,它并不是Java的关键字,只有当变量前面没有写明任何访问权限修饰符时,就 默认以friendly作为访问权限。为了表达上的方便,省略了其中"成员"两字,将被这些修饰符所修饰的变量分别称为私有变量、保护变量和公共变量。下面分别讨论各个修饰符的用法:
公共变量(Public):
凡是被public修饰的成员变量,都称为公共变量,它可以被任何类所访问。即允许该变量所属的类中所有方法访问,也允许其他类在外部访问。
保护变量(protected):
凡是被protected修饰的变量,都被称为保护变量。除了允许在本类的内部访问之外,还允许它的子类以及同一个包中的其他类访问。子类是指从该类派生出来的类。包是Java中用于管理类的一种松散的集合。
私有变量(private):
凡是被private修饰的成员变量,都称为私有变量。它只允许在本类的内部访问,任何外部类都不能访问它。
默认访问变量:
如果在变量前不加任何访问权修饰符,它就具有默认的访问控制特性,也称为friendly变量。它和保护变量非常像,它只允许在同一个包中的其他类访问, 即便是子类,如果和父类不在同一包中,也不能继承默认变量(这是默认访问变量和保护变量的唯一区别)。因为它限定了访问权限只能在包中,所以也有人称默认 访问权限为包访问权限。
注意:
当一个类的成员前面没有任何访问权限修饰符修饰时,我们就说他是“fiendly权限”,或者“default权限”(注意,只是这样“说”,并不是主你可以那样写上去)。这种说法指的就是那种可以从package内部或子类中访问的成员。
通过代码看区别
JAVA成员变量的访问权限
小结
在本质上了解它们之间的区别,明白它们的原理,再也不用担心写代码了。
相关文章
- 暂无相关文章
用户点评