在Java中有四种不同的作用域,分别是 public protected default 和private,这四种不同的作用域的限制由前到后逐渐的增加。
现在来看看public的作用域,在所有的作用域中,public可谓是最宽松的,在编写类文件的时候,只要该类以public关键字修饰,那么这个类的类文件就必须以该类的简单类名来命名。在类的内部,被它修饰的无论是参数还是方法,都可以在任何地方访问的到(当然前提是这个类是公开的,就是上文说到的是以public关键字修饰的类)。
而对于protected作用域来说,它的限制就严格了一点,它只允许本类、同一个包内的其他类(这个类不是它的子类)或者它的子类使用被它修饰的方法或者参数(以protected修饰的类貌似还没遇到过,O(∩_∩)O~,有用过的给个提醒),子类使用父类中的protected方法或者参数时不受包位置的影响,这就意味着,即使位于不同包的类想要调用它父类的protected方法或者参数也是被允许的。
对于default作用域(即不加任何的关键字修饰的方法或者参数),它的限制就严格的多了,除了本类和本包中的类能访问以外,就是不在同一个包内的它自己的子类也不能访问(有点像老子跟儿子分家了,老子的东西就不能给儿子用了一样O(∩_∩)O~)。
private作用域在这四种之内是最为严格的,除了它自己,哪怕是同包内的其他类都不允许使用。通常我们使用这个关键字来实现对类的方法的隔离,它意味着,除了本类的方法能够调用这个私有化成员以外,其他的包括同包中的类和子类都不能访问这些个私有的成员。(肥水不流外人田嘛,能被private修饰的东东怎么说也是相当有价值的了)。
具体的信息看下图:
作用域 |
当前类 |
同一包内 |
子孙类 |
其他包 |
public |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
× |
default |
√ |
√ |
× |
× |
private |
√ |
× |
× |
× |
分享到:
相关推荐
Java 中有四种访问修饰符:public、protected、默认(default)和 private。这四种修饰符的作用域从大到小依次降低。 1. public 修饰符 public 修饰符是最宽松的访问修饰符,它允许从任何地方访问修饰的成员,...
其中,最为基础且核心的概念之一便是作用域,具体包括`public`、`private`、`protected`以及默认(通常被非正式地称为`friendly`)。本文将深入探讨这四种作用域的具体含义及应用场景。 #### 二、作用域概述 - **...
Java是一种面向对象的编程语言,它的类修饰符有public、default、private、protected等,但是为什么Java的外部类不能使用private和protected进行修饰呢?今天我们就来探讨这个问题。 首先,我们需要了解Java的类...
Java 语言中的作用域有四种:public、private、protected 和默认(default)。public 修饰的元素可以被所有类访问,private 修饰的元素只能被当前类访问,protected 修饰的元素可以被当前类和其子类访问,默认修饰的...
Java 中有四种访问修饰符:public、private、protected 和 default。public 修饰符表示变量或方法可以被任何类访问,private 修饰符表示变量或方法只能被同一个类访问,protected 修饰符表示变量或方法可以被同一个...
4. **访问控制符**:Java有public、protected、default、private四种,不指定则默认为default;C++有public、protected、private三种,未指定默认为private。 5. **运算符**:Java不支持作用域运算符“::”,也不...
2. 作用域 public,protected,private,以及不写时的区别: Java 中的访问修饰符有四种:public、protected、private、default。public 表示公共的,任何地方都可以访问;protected 表示保护的,子类可以访问;...
2. 作用域public, protected, private,以及不写时的区别:public 为公共访问权限,protected 为保护访问权限,private 为私有访问权限,不写时默认为default访问权限。 3. 编程输出图形:可以使用 Java 的图形库或 ...
2. 作用域 public,private,protected,以及不写时的区别? 作用域的区别在于它们的可见性和访问权限。public访问权限最高,所有类都可以访问。protected权限次之,只有同包的类和子类可以访问。default权限只能在同...
Java 中的作用域包括 public、private、protected 以及不写时(default),它们用来限定类组员的使用权限。private 表示类中限定为 private 的组员只能在这个类中被访问,在类外不可见。default 表示假如没有访问...
Java修饰符包括public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native等。 七、Java流程控制 Java流程控制语句包括package、import、throw、throws、...
public 具有最宽松的作用域范围,protected 具有比 default 和 private 更宽松的作用域范围。 Java 中的继承机制可以实现代码重用和构建类层次结构。Java 中的接口和抽象类可以定义类之间的契约,使得多个类能够...
作用域 public、private、protected 以及不写时(default)有什么区别?访问控制符可以控制类成员的使用权限。private(私有的):类中限定为 private 的成员只能在这个类中被访问,在类外不可见。default(无修饰符...
2. 作用域 public,private,protected,以及不写时的区别? 答:区别如下: | 作用域 | 当前类 | 同包子孙类 | 其他 | | --- | --- | --- | --- | | public | √ | √ | √ | | protected | √ | √ | × | | ...
#### 一、作用域(public, private, protected, 不写)的区别 在Java中,类成员(如方法、变量)的可见性可以通过四种不同的访问修饰符来控制:`public`、`private`、`protected` 和 默认(也称为 `friendly` 或 `...
- **描述**: Java中提供了四种访问修饰符:`public`、`protected`、`private` 和默认修饰符(也称为包私有)。这些修饰符定义了成员的可见范围。`public` 成员在任何地方都可以访问,`protected` 成员可以被同一个...
Java中的作用域关键字有public、private、protected和不写时的默认作用域(通常称为friendly或default)。它们决定了类、方法和变量的访问级别。具体来说: - public:可以被任何其他对象访问。 - private:只能在同...
作用域public,private,protected,以及不写时的区别?** 作用域关键字用于控制成员变量或方法的可见性范围。以下是各种作用域的区别: - **public**: 公有访问修饰符,表示成员变量或方法可以在任何地方被访问。 -...