Java 中默认(无修饰符)的可见性对应的是包级私有(package-private),这是 Java 特有的可见性修饰符,有时也称为默认可见性,包级私有的可见性意味着只有同一个包中的其他类才能访问该成员,对于外部包中的类来说是不可见的。这使得它比私有(private)更为灵活,因为它可以被同一个包中的其他类访问,但对于外部包中的类则是私有的。
可见性 | 类内部 | 包内部 | 派生类 | 外部 |
---|---|---|---|---|
Private | Y | N | N | N |
默认(无修饰符) | Y | Y | N | N |
Protected | Y | Y | Y | N |
Public | Y | Y | Y | Y |
在 TypeScript 中,类属性的默认可见性是 public(公共),这意味着它们可以在派生类中访问。如果你不想让派生类直接访问父类的属性,你可以使用 protected 或 private 关键字来限制访问权限。
protected 关键字表示属性只能在类内部及其派生类中访问。
private 关键字表示属性只能在类内部访问,派生类无法访问。
可见性 | 类内部 | 派生类 | 外部 |
---|---|---|---|
private | Y | N | N |
protected | Y | Y | N |
public | Y | Y | Y |
默认(无修饰符) | Y | Y | Y |