在 Java 中,private(私有) 和 public(公有) 是访问修饰符(access modifiers),用来控制类、方法、变量能被谁访问。核心区别在于:作用范围不同。
| 修饰符 | 同一个类 | 同一个包 | 子类 | 不同包 |
|---|---|---|---|---|
private |
✅ | ❌ | ❌ | ❌ |
public |
✅ | ✅ | ✅ | ✅ |
class Person {
private int age;
private void show() {
System.out.println("age=" + age);
}
}
class Test {
public static void main(String[] args) {
Person p = new Person();
// p.age = 10; // ❌ 报错
// p.show(); // ❌ 报错
}
}
✅ 访问方式:必须通过 public 方法
class Person {
private int age;
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
class Test {
public static void main(String[] args) {
Calculator c = new Calculator();
System.out.println(c.add(1, 2)); // ✅ 可以访问
}
}
private:只能自己用;public:谁都能用。
✅ 为了 封装性
public void setAge(int age) {
if (age > 0) {
this.age = age;
}
}
| 修饰符 | 说明 |
|---|---|
public |
可以被任何包访问 |
| 默认(不写) | 只能同一个包访问 |
⚠️ 一个 .java 文件只能有一个 public 类,且类名必须和文件名一致
如果你愿意,我可以再讲:
protected 和 default免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。