Java函数可见性修饰符:public、private、protected、default有什么区别?
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(或不加修饰符):只能在同一包中的其他类中访问。
