Kotlin与Java可见性修饰符对比

1、Java

类中成员修饰符 同一类中可访问 同一包中可访问 不同包中可访问 子类中可访问
public
protected ×
(default) × ×
private × × ×

 

 

 

 

 

 

 

2、Kotlin

包中成员修饰符 同一文件中可访问 同一模块中可访问 不同模块中可访问
public
internal ×
protected  不适用于顶层声明  
private × ×

 

 

 

 

 

 

 

  • 如果你不指定任何可见性修饰符,默认为 public,这意味着你的声明将随处可见;
  • 如果你声明为 private,它只会在声明它的文件内可见;
  • 如果你声明为 internal,它会在相同模块内随处可见;
  • protected 不适用于顶层声明。

 

 

 

类中成员修饰符 同一类中可访问 同一模块中可访问 不同模块中可访问 子类中可访问
public
internal ×
protected × ×
private × × ×

 

 

 

 

 

 

 

  • private 意味着只在这个类内部(包含其所有成员)可见;
  • protected—— 和 private一样 + 在子类中可见。
  • internal —— 能见到类声明的 本模块内 的任何客户端都可见其 internal 成员;
  • public —— 能见到类声明的任何客户端都可见其 public 成员。

 

posted @ 2020-09-29 11:05  第壹时间  阅读(481)  评论(0编辑  收藏  举报