哪个可见性修饰符更宽松:Protected还是Internal?
internal var num = 18
protected set // throws an error at 'protected' showing: Setter visibility must be the same or less permissive than property visibility
我还试了这个:
protected var num = 18
internal set // throws an error at 'internal' showing: Setter visibility must be the same or less permissive than property visibility
它们没有可比性;没有一个比另一个更宽容。
另一个模块中的子类将看到protected
成员,但看不到internal
。
相同模块中不相关的类将看到internal
成员,但看不到protected
。
protected表示该成员与标记为private的成员具有相同的可见性,但在子类中也是可见的。
internal意味着模块内的任何客户端看到了声明类的内部成员。