請你說說Static Nested Class 和 Inner Class的不同

  • 2019 年 10 月 4 日
  • 筆記

劍指–>Offer

01

Static Nested Class是被聲明為靜態(static)的內部類,它可以不依賴於外部類實例被實例化。

而通常的內部類需要在外部類實例化後才能實例化。Static-Nested Class 的成員, 既可以定義為靜態的(static), 也可以定義為動態的(instance).Nested Class的靜態成員(Method)只能對Outer Class的靜態成員(static memebr)進行操作(ACCESS), 而不能Access Outer Class的動態成員(instance member).

而 Nested Class的動態成員(instance method) 卻可以 Access Outer Class的所有成員, 這個概念很重要, 許多人對這個概念模糊.

有一個普通的原則, 因為靜態方法(static method) 總是跟 CLASS 相關聯(bind CLASS), 而動態方法( (instance method) 總是跟 instance object 相關聯, 所以,靜態方法(static method)永遠不可以Access跟 object 相關的動態成員(instance member),反過來就可以, 一個CLASS的 instance object 可以 Access 這個 Class 的任何成員, 包括靜態成員(static member).

02

寫在後面

本文章將以「指導面試,智取Offer」為宗旨,為廣大Java開發求職者掃清面試道路上的障礙,成為面試官眼中的精英,朋友圈裡的大神。在面試場上「胸有成竹」,坦然面對每個面試官的「拷問」,做到進可攻「項目經理、項目總監」等高級職務,視之為翹首可及;退可守「Java工程師、Java測試工程師」等職務,視之為探囊取物。無論進退、皆可立於不敗之地。

The end

文字 / 々仗劍走天涯

配圖 / 々仗劍走天涯

排版 / 々仗劍走天涯

Java Life

與你同在