众所周知,Java 是世界上最顶尖的编程语言之一。在过去的二十年里,数十亿设备依赖于它。 Java 是一种快速、可靠、安全的多平台语言。 Java 可以在任何设备上运行,只要该设备具有 Java 运行时 (JRE),这使其成为多平台、快速且可靠的。访问修饰符是java的属性,这使得它可以跨多平台安全。 Java 通过使用访问修饰符属性向程序员提供类级安全性(在封装期间)。根据这本书,类是在 Java 中构建对象的蓝图,这使得它成为程序的“构建块”,因为 Java 是一种面向对象的语言。访问修饰符指定任何类如何访问给定类及其在不同包中的字段、构造函数和方法。类、字段、构造函数和方法可以具有四种不同的 Java 访问修饰符之一。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
下表总结了我们如何将 Java 访问修饰符应用到程序中:
Modifiers | Class | Packages | Sub-Class | World |
Private | Y | N | N | N |
Public | Y | Y | Y | Y |
Protected | Y | Y | Y | N |
Default | Y | Y | N | N |
我们将在以下部分中介绍每个 Java 访问修饰符。
当任何类、数据成员和变量通过不使用访问修饰符进行声明时,它将被设置为“默认”访问修饰符。 “默认”访问修饰符意味着任何类中的代码都可以访问同一包中的整个程序。
示例#1:
//Java program to show the default modifier. package Test; //Where Class eduCBA is having Default access modifier as no access modifier is specified here class eduCBA { void display () { System.out.println("Hello World!"); } }
输出:
世界你好!
示例#2:
//Java program to show error while using class from different package with default modifier package test2; import test.*; //This class check is having default access modifier class Check { public static void main(String args[]) { //accessing class eduCBA from package test eduCBA obj = new eduCBA(); obj.display(); } }
输出:
编译时错误。
用户想要使用此访问修饰符时使用语法“protected”。
例如:
//Java program to show to protected access modifier package test; //Class eduCBA public class eduCBA { protected void display () { System.out.println("Hello World!"); } } //Java program to show to protected modifier in same sub-classes of different packages package test2; import test.*; //Class pro is subclass of eduCBA class pro extends eduCBA { public static void main(String args[]) { pro obj = new pro(); obj.display(); } }
输出:
世界你好!
用户可以使用“public”访问修饰符声明类、方法、构造函数和接口,该修饰符可以被包内或不同包中的任何类、方法、构造函数和接口访问。
例如:-
//Java program to show to public access modifier package test; public class eduCBA { public void display () { System.out.println("Hello World!"); } } package test2; import test.*; class pub { public static void main (String args []) { eduCBA obj = new eduCBA (); obj.display (); } }
输出:
世界你好!
当方法或变量被标记为“私有”访问修饰符时,同一类内的代码只能访问这些方法和变量。
用户不能在程序中声明任何具有“private”访问修饰符的超类。如果用户对任何类执行此操作,则同一包中的任何其他类都无法访问该类,从而使该类无法使用。但是,用户可以使用“private”访问修饰符在类中声明变量和方法,因此任何人都无法使用这些变量和方法。
有时人们会混淆“私有”和“受保护”访问修饰符,但它们是不同的。
例如: –
//Program to show error while using a class from different packages with private modifier. package test; class eduCBA { private void display() { System.out.println("Hello World!"); } } class Check { public static void main (String args[]) { eduCBA obj = new eduCBA(); //make class check to access private method of another class eduCBA. obj.display(); } }
输出:
错误:display() 在 eduCBA obj.display() 中具有私有访问权限;
当您公开程序时,Java 访问修饰符会给您带来额外的优势。正如我们上面学习的,JAVA 中不同类型的访问修饰符及其规范。
因此,每次将其中一个用作类或接口访问时请记住,因为它们不仅提供访问,而且还会覆盖它们。虽然程序中方法的可访问性始终存在问题。例如,如果一个接口在超类中被分配了“默认”访问修饰符,它可以覆盖该方法的子类中使用的访问修饰符。
注意:类包括变量、构造函数、字段和方法,接口包括特定的字段或方法。以上是Java 中的访问修饰符的详细内容。更多信息请关注PHP中文网其他相关文章!