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 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,