浅谈一下Java中的访问修饰符以及作用

寻技术 JAVA编程 2023年07月11日 141

Java 中的访问修饰符用于限制类、接口、字段和方法的访问范围,它们分别表示不同的访问控制级别。Java 中共有四种访问修饰符:public、protected、default 和 private。

public

public 是最开放的访问修饰符,用于指定公共访问级别。被 public 修饰的类、接口、字段和方法可以在任何地方被访问。

例如,下面的代码定义了一个公共类:

public class MyClass {
    // ...
}

这个类可以在任何地方被访问。另外,如果一个方法或字段被声明为 public,那么它也可以在任何地方被访问。例如:

public class MyClass {
    public String name;
    public void sayHello() {
        System.out.println("Hello, world!");
    }
}

protected

protected 用于指定受保护的访问级别。被 protected 修饰的类、字段和方法可以被本包内的其他类访问,以及子类中访问。

例如,下面的代码定义了一个受保护的类:

package mypackage;
protected class MyProtectedClass {
    // ...
}

这个类只能被 mypackage 包内的其他类访问,以及继承了 MyProtectedClass 的子类访问。另外,如果一个方法或字段被声明为 protected,那么它也可以被同一包内的其他类访问,以及继承了该类的子类访问。例如:

package mypackage;
public class MyClass {
    protected String name;
    protected void sayHello() {
        System.out.println("Hello, world!");
    }
}

这个类的 name 和 sayHello 方法可以被 mypackage 包内的其他类访问,以及继承了 MyClass 的子类访问。

default

default 是 Java 中默认的访问修饰符,它也称为包级私有访问控制。如果一个类、接口、字段或方法没有使用任何访问修饰符,那么它就是默认访问级别。默认访问级别表示只能在同一包内进行访问。

例如,下面的代码定义了一个默认访问级别的类:

package mypackage;
class MyDefaultClass {
    // ...
}

这个类只能被 mypackage 包内的其他类访问。另外,如果一个方法或字段没有使用任何访问修饰符,那么它也是默认访问级别。例如:

package mypackage;
public class MyClass {
    String name;
    void sayHello() {
        System.out.println("Hello, world!");
    }
}

这个类的 name 和 sayHello 方法只能被 mypackage 包内的其他类访问。

private

private 是最严格的访问修饰符,它用于指定私有访问级别。被 private 修饰的字段和方法只能在定义它们的类内部进行访问。

例如,下面的代码定义了一个私有类:

public class MyClass {
    private String name;
    private void sayHello() {
        System.out.println("Hello, world!");
    }
}

这个类的 name 和 sayHello 方法只能在 MyClass 类内部进行访问。

总结:

Java 中的四种访问修饰符分别表示不同的访问控制级别,可以用于限制类、接口、字段和方法的访问范围。public 是最开放的访问级别,protected 是受保护的访问级别,default 是默认的访问级别,private 是最严格的访问级别。在实际编程中,我们应该根据需要选择合适的访问修饰

原文地址:https://blog.csdn.net/Dakaring/article/details/130449434
关闭

用微信“扫一扫”