Java 中的默认访问修饰符
在本教程中,我们将讨论 Java 中的默认访问修饰符。顾名思义,当我们不使用变量或函数指定任何人时,使用访问修饰符。
Java 中的默认访问修饰符
Java 中有四种类型的 access
修饰符,private
、protected
、public
和 default
。要理解 default access
修饰符,我们需要知道为什么我们需要它以及不同条件下的其他修饰符。
private access
修饰符是最严格的,因为它只允许访问同一个类。当我们不知道 class
变量或函数将不会在我们所在的类之外的任何其他地方使用时,我们会使用它。
protected access
修饰符允许在类或同一个包内访问,但只有其他包的子类可以访问。
当我们希望它对包中的所有类都可用但不希望任何其他包访问
时使用它。
正如你所猜测的,public access
修饰符允许全局访问,这意味着我们可以在任何地方访问它,甚至可以从其他包访问。
当我们不使用上述任何内容时,default access
修饰符就会发挥作用。它的访问级别仅限于同一个包,其他包即使创建子类也无法访问。
让我们看一个 default access
修饰符的示例以及它是如何工作的。我们有两个类,ExampleClass1
和 ExampleClass2
。第一个类包含一个没有任何访问修饰符的变量,称为 randomString
。
现在在 ExampleClass2
类中,我们创建一个函数并通过创建 ExampleClass1
的对象来访问 randomString
变量。我们可以做到,而且没有错误。发生这种情况是因为这两个类都在同一个包中。
注意类顶部的包名称 com.package
。
在 Java 中使用 ExampleClass1
package com.tutorial;
public class ExampleClass1 {
String randomString = "This is a string from Example Class1";
public static void main(String[] args) {
String getReturnedString = new ExampleClass2().functionWithDefaultAccessModifier();
System.out.println(getReturnedString);
}
}
在 Java 中使用 ExampleClass2
package com.tutorial;
public class ExampleClass2 {
String functionWithDefaultAccessModifier(){
return new ExampleClass1().randomString;
}
}
输出:
This is a string from Example Class1
在上述场景中,可以从同一包中的另一个类访问 randomString
。
尽管如此,当我们尝试从位于另一个包 com.tutorial2
中的类访问位于 com.tutorial
包中的 ExampleClass1
的 randomString
变量时,IDE
会抛出错误说 randomString
不是公共的,不能从它的包外部访问。
相关文章
Java 中 Long 和 Int 数据类型的区别
发布时间:2023/10/17 浏览次数:190 分类:Java
-
这篇文章解释了 Java 中 long 和 int 数据类型的区别。本文将讨论 Java 中 int 和 long 数据类型之间的区别,并解释包装类 Integer 和 Long。
在 Java 中创建无符号长整数
发布时间:2023/10/17 浏览次数:191 分类:Java
-
本文展示了如何在 Java 中创建无符号长整数。Java 中的 long 变量总是有符号的,它总是有负值和正值。但是我们也可以使用下面提到的一些方法将一般的 long 变量用作无符号变量。
用 Java 制作倒数计时器
发布时间:2023/10/17 浏览次数:55 分类:Java
-
本文向你展示了如何在 Java 中制作倒数计时器的方法。我们将演示如何在不依赖任何第三方库的情况下使用两种方法在 Java 中制作倒数计时器。
在 Java 中创建 swing 计时器
发布时间:2023/10/17 浏览次数:75 分类:Java
-
本文介绍 Java 中的 swing 定时器。本教程介绍了如何在 Java 中创建和调用 swing 计时器。Time 是 Swing 中的一个类,用于根据指定的时间间隔执行任务。
Java 中的排序比较器
发布时间:2023/10/17 浏览次数:162 分类:Java
-
本文介绍 Java 中的排序比较器及其使用方法。本文定义了 Java 中的排序比较器是什么,并演示了如何在进程中使用它。
在 Java 中创建有序映射
发布时间:2023/10/17 浏览次数:200 分类:Java
-
本文介绍如何在 Java 中创建有序映射。映射是 Java 中存储键值对的数据结构。映射是存在于 Collection 层次结构中的 interface。
Java 中的选择排序算法
发布时间:2023/10/17 浏览次数:151 分类:Java
-
本教程演示了 Java 中的选择排序算法。选择排序是首先选择列表或数组中最小的元素并与第一个元素或数组交换的方法;然后,第二个缩小的元素与第二个元素交换。
在 Java 中使用 stream.orted() 对列表进行排序
发布时间:2023/10/17 浏览次数:54 分类:Java
-
本文介绍了如何在 Java 中使用 Stream sorted() 方法。这也演示了如何使用比较器对用户定义的列表进行流排序。本教程将详细介绍 Java 中的 Stream API 提供的 stream sorted() 方法。