关于外部类只能用public或默认修饰的说法:
我是这样理解的:这些修饰权限是针对类中的那些变量、方法、内部类来说的,而外部类已经在最外部(即不存在说在哪个类的内部,或是哪个类的子类这些范围),类作为单独文件被加载不能被修饰为私有(private)或受保护的(protected)[下面也解释了]。只有类内部的那些变量方法去针对访问权限来讨论才有意义。
上述讨论权限这样说才更具意义:
public: (类中被修饰为public的所有变量、方法、内部类)对所有类可见。
protected: (类中被修饰为protected的所有变量、方法、内部类)对同一包内的类和所有子类可见。
default(即缺省,什么也不写): (类中被修饰为default的所有变量、方法、内部类)在同一包内可见。
private: (类中被修饰为private的所有变量、方法、内部类)在同一类内(自身)可见。
即:均是针对类内部的内容来讨论的访问权限所具备的意义。
既然这样为什么还要对 外部类 或 类 做修饰呢,直接规定只有类内部才能使用访问权限修饰符不就行了?
作者:李舜生
链接:https://www.zhihu.com/question/60501402/answer/257896935
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。