赞
踩
Java 中一共有 4 种访问修饰符,分别是:
1:public 访问修饰符
使用 public 修饰的变量、方法或类可以被任意访问,无访问限制。也就是说,public 修饰的成员可以通过类名直接访问,不需要实例化对象。
下面是一个 public 访问修饰符的例子:
- public class Person {
- public String name;
- public int age;
- public void sayHello() {
- System.out.println("Hello, World!");
- }
- }
在上面的代码中,name 和 age 都是 public 的成员变量,sayHello() 方法也是 public 的,它们可以被任意访问到。
2:protected 访问修饰符
使用 protected 修饰的变量、方法或类可以被其本身、子类、同一包内的其他类访问。也就是说,protected 修饰的成员可以通过子类对象、同一包内的对象访问,不能通过类名直接访问。
下面是一个 protected 访问修饰符的例子:
- public class Person {
- protected String name;
- protected int age;
- protected void sayHello() {
- System.out.println("Hello, World!");
- }
- }
-
- public class Student extends Person {
- public void study() {
- System.out.println("Studying...");
- }
- }
-
- public class Main {
- public static void main(String[] args) {
- Student s = new Student();
- s.name = "Tom";
- s.age = 18;
- s.sayHello(); // 子类可以访问父类的 protected 成员方法
- }
- }
在上面的代码中,Person 类中的 name、age 和 sayHello() 都是 protected 的成员变量和方法,它们可以被继承 Person 的子类 Student 访问,而不能通过类名直接访问。在 Main 类中,我们创建了一个 Student 对象 s,通过 s 对象可以访问到 Person 中的 protected 成员变量和方法。
3:default 访问修饰符
如果没有为变量、方法或类指定任何访问修饰符,则默认为 default 访问修饰符,也叫包访问修饰符。使用 default 修饰的变量、方法或类只能被相同包内的其他类访问。
下面是一个 default 访问修饰符的例子:
- package com.example;
-
- class Person {
- String name;
- int age;
- void sayHello() {
- System.out.println("Hello, World!");
- }
- }
-
- public class Main {
- public static void main(String[] args) {
- Person p = new Person();
- p.name = "Tom";
- p.age = 18;
- p.sayHello(); // 可以访问同包中的类
- }
- }
在上面的代码中,Person 类没有指定访问修饰符,默认是 default,因此只能在相同的包内访问它。在 Main 类中,我们可以通过 p 对象访问到 Person 中的成员变量和方法。
4:private 访问修饰符
使用 private 修饰的变量、方法或类只能被其本身访问,不能被其他类访问。也就是说,private 修饰的成员变量和方法只能在类内部访问,不能通过对象或类名访问。
下面是一个 private 访问修饰符的例子:
- public class Person {
- private String name;
- private int age;
- private void sayHello() {
- System.out.println("Hello, World!");
- }
- }
-
- public class Main {
- public static void main(String[] args) {
- Person p = new Person();
- p.name = "Tom"; // 错误,无法访问 private 成员变量
- p.age = 18; // 错误,无法访问 private 成员变量
- p.sayHello(); // 错误,无法访问 private 成员方法
- }
- }
在上面的代码中,Person 类中的 name、age 和 sayHello() 都是 private 的成员变量和方法,它们只能在类的内部访问,不能在外部通过对象或类名访问。
总结:
在 Java 编程中,使用适当的访问修饰符可以提高程序的可读性、可维护性和安全性。需要合理地使用访问修饰符,控制成员变量和方法的访问级别,避免数据泄露和修改,提高代码的质量和效率。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。