温馨提示×

java构造函数的访问权限如何设置

小樊
99
2024-09-21 05:33:45
栏目: 编程语言

在Java中,构造函数的访问权限可以设置为以下四种之一:publicprotecteddefault(包访问权限)和private

  1. public:如果构造函数是public的,那么它可以从任何其他类被访问和调用。这是最常用的访问级别,因为它允许类的实例在程序的任何地方被创建。
public class MyClass {
    public MyClass() {
        // 构造函数内容
    }
}
  1. protected:如果构造函数是protected的,那么它只能从同一个包中的类或者子类中被访问和调用。
public class MyClass {
    protected MyClass() {
        // 构造函数内容
    }
}

// 在同一个包中的另一个类
class AnotherClassInSamePackage extends MyClass {
    public AnotherClassInSamePackage() {
        super();
    }
}
  1. default(包访问权限):如果构造函数没有指定访问修饰符,那么它的访问权限就是默认的,也称为包访问权限。这意味着它只能从同一个包中的类被访问和调用。
public class MyClass {
    MyClass() {
        // 构造函数内容
    }
}

// 在同一个包中的另一个类
class AnotherClassInSamePackage {
    public AnotherClassInSamePackage() {
        MyClass obj = new MyClass(); // 可以访问MyClass的私有构造函数
    }
}

注意:不能从不同的包中直接访问default访问级别的构造函数。

  1. private:如果构造函数是private的,那么它只能在定义它的类内部被访问和调用。这通常用于实现单例模式或者工厂方法模式等设计模式。
public class MyClass {
    private MyClass() {
        // 构造函数内容
    }
}

// 不能从其他类中访问MyClass的私有构造函数

0