Kotlin的訪問權限管理

遇橫逆之來而不怒
遭變故之起而不驚
當非常之謗而不辯

1. Java中的權限修飾符

我們知道在Java中有四種權限修飾符

  1. public
  2. private
  3. protected
  4. 什麼也不寫(即我們常說的default)

既然是權限修飾符,首先我們要明白對What進行權限管理。

1. 修飾對象
  1. 類的成員(變量,方法(構造方法它也是方法),內部類)

只有 publicdefault才能修飾類


2. 權限範圍

public的字面意思是"公共的,公開的", 所以public是權限最大的修飾符。
private的字面意思是“私有的”, 所以private是權限最小的修飾符。
protected的意思是“保護的”。

總結一下:

修飾符 同一個類 同一個包 不同包子類 不同包且非子類
public Y Y Y Y
private Y N N N
protected Y Y Y N
Y Y N N

說實在,學習Java的時候,一直認爲其default的訪問權限設計的不合理。Kotlin畢竟是站在巨人的肩膀上產生的。

在這裏插入圖片描述

2. Kotlin中的權限修飾符

Kotlin在沒有顯式指定修飾符的時候,默認可見性是public

2.1 Kotlin中的Top-Level(頂層)類型

我相信大家在剛開始學習Kotlin的時候,都會有此疑惑:

Kotlin在新建文件時有所不一樣,其獨有的File類型,文件類型爲.kt。簡而言之,這就是文檔中的top-level類型。

我們可以在Kotlin的.kt文件中,可以在內部定義接口單例方法屬性,建議大家可以自己試一下。

我們知道protected獨特之處是子類關係。protected修飾符是不允許修飾top-level成員的。(PS:想要使用top-level中的成員,必須要import)

Kotlin的類型

其它的類型都能跟Java對應上(PS:Object類型是Kotlin用來聲明單例的)

2.2 Kotlin中的權限修飾總結
修飾符 作用 Top-Level
public 全部可見 全部可見
internal 模塊內可見 模塊內可見
protected 自身內部+子類
private 自身內部 自身內部

Kotlin中文網站
Kotlin官網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章