【发布时间】:2015-09-02 21:51:23
【问题描述】:
This answer 显示了 Java 的可见性修饰符及其含义:
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | y | y | y | y
————————————+———————+—————————+——————————+———————
protected | y | y | y | n
————————————+———————+—————————+——————————+———————
no modifier | y | y | n | n
————————————+———————+—————————+——————————+———————
private | y | n | n | n
我的问题是,为什么允许对所有子类的可见性意味着您必须对包中的所有其他类提供可见性?换句话说,为什么 Java 的创造者会这样做,而不是:
Modifier | Class | Subclass | Package | World
————————————+———————+—————————-+——————————+———————
public | y | y | y | y
————————————+———————+—————————+——————————+———————
no modifier | y | y | y | n
————————————+———————+—————————+——————————+———————
protected | y | y | n | n
————————————+———————+—————————+——————————+———————
private | y | n | n | n
【问题讨论】:
-
"...为什么 Java 的创建者会这样做",恕我直言,这里没有人能回答这个问题。 :)
标签: java visibility