欢迎访问宙启技术站
智能推送

Java函数可见性修饰符:public、private、protected、default有什么区别?

发布时间:2023-06-11 02:14:49

Java函数可见性修饰符是指在定义方法时可以使用的4种关键字:public、private、protected、default。这些修饰符指明了方法的访问权限,确定了哪些类可以访问这些方法。

1. public

public关键字是最常用的可见性修饰符,表示该方法对所有其他类和方法可见。因此,任何类都可以调用公共方法。它允许其他类调用定义方法,无论其他类是否在同一个包中。

例子:

public class MyClass {
    public void myMethod() {
        // 你的代码
    }
}

在上面的例子中,我们定义了一个公共方法myMethod()。该方法可以被其他类调用。

2. private

private关键字是最严格的可见性修饰符之一,表示该方法只能在同一个类内部访问。这意味着只有在声明方法的类内部,才能直接调用该方法。私有方法对其他类和方法是不可见的。

例子:

public class MyClass {
    private void myMethod() {
        // 你的代码
    }
}

在上面的例子中,我们定义了一个私有方法myMethod()。由于该方法是private,因此其他类无法访问它,只能在MyClass类的内部进行调用。

3. protected

protected关键字的作用与private关键字类似,但具有一些更宽松的访问权限。

protected方法在定义类和子类时非常有用。它可以让子类访问定义它的类(父类)中的方法,但对于其他类而言,它仍然是不可见的。protected方法可以被同一包中的所有类访问。

例子:

public class MyClass {
    protected void myMethod() {
        // 你的代码
    }
}

在上面的例子中,我们定义了一个受保护的方法myMethod()。由于该方法是protected,因此可以被同一个包中的其他类以及任何其他继承自MyClass的类访问。

4. default(或不加修饰符)

如果在定义方法时没有使用任何访问修饰符,则该方法的可见性将限制在定义它的包中。这也称为“默认”或不加修饰符的访问修饰符。

例子:

class MyClass {
    void myMethod() {
        // 你的代码
    }
}

在上面的例子中,我们定义了一个默认的方法myMethod()。由于没有使用任何访问修饰符,因此该方法只能在同一包中的其他类中访问。任何其他类,包括继承自MyClass的类,都无法访问该方法。

总结:

Java中的4种可见性修饰符:

1. public:可被所有类和方法访问。

2. private:只能在定义它的类内部访问。

3. protected:可以在同一包中的任何其他类以及任何其他继承自该类的类中访问。

4. default(或不加修饰符):只能在同一包中的其他类中访问。