哪个可见性修饰符的可见性较低:Protected还是Internal?



哪个可见性修饰符更宽松: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意味着模块内的任何客户端看到了声明类的内部成员。

最新更新