在面向对象编程中,访问修饰符用于控制类成员(如变量和方法)的访问级别。在Java中,主要有三种访问修饰符:public、private和protected。以下是它们的主要区别:
1. public:
访问级别:public成员可以在任何地方访问,包括同一个类、子类、其他类以及不同的包。
用途:通常用于那些需要广泛访问的成员,如公共接口或API。
示例:`public int publicVar = 10;`
2. private:
访问级别:private成员只能在定义它们的类内部访问。
用途:用于封装,隐藏类的内部实现细节,防止外部直接访问和修改类的内部状态。
示例:`private int privateVar = 20;`
3. protected:
访问级别:protected成员可以在定义它们的类内部访问,也可以在继承该类的子类中访问,无论子类是否在同一个包中。
用途:用于在类内部和子类之间提供一定程度的封装,同时允许子类访问基类的成员。
示例:`protected int protectedVar = 30;`
总结:
public:最高访问级别,可以在任何地方访问。
private:最低访问级别,只能在定义它们的类内部访问。
protected:介于public和private之间,可以在定义它们的类内部和继承的子类中访问。