|NO.Z.00076|——————————|BigDataEnd|——|Java&特殊類.V04|------------------------------------------------|Java.v04|靜態內部類.v01|定義|
阿新 • • 發佈:2022-04-03
[BigDataJava:Java&特殊類.V04] [BigDataJava.面向物件] [|章節五|特殊類|靜態內部類的定義|]
一、靜態內部類的定義
二、程式設計程式碼### --- 靜態內部類的格式 ~~~ ——> 訪問修飾符class 外部類的類名{ ~~~ ——> 訪問修飾符staticclass 內部類的類名{ ~~~ ——> 內部類的類體; ~~~ ——> } ~~~ ——> }
三、程式設計程式碼package com.yanqi.task10; /** * 實現靜態內部類的定義和使用 */ public class StaticOuter { private int cnt = 1; // 隸屬於物件層級 private static int snt = 2; // 隸屬於類層級 public /*static*/ void show() { System.out.println("外部類的show方法就是這裡!"); } /** * 定義靜態內部類 有static關鍵字修飾隸屬於類層級 */ public static class StaticInner { private int ia = 3; private static int snt = 4; public StaticInner() { System.out.println("靜態內部類的構造方法哦!"); } public void show() { System.out.println("ia = " + ia); // 3 System.out.println("外部類中的snt = " + snt); // 2 //System.out.println("外部類的cnt = " + cnt); // Error:靜態上下文中不能訪問非靜態的成員,因此此時可能還沒有建立物件 } public void show2(int snt) { // 就近原則 System.out.println("snt = " + snt); // 5 System.out.println("內部類中的成員snt = " + StaticInner.snt); // 4 System.out.println("外部類中的成員snt = " + StaticOuter.snt); // 2 //StaticOuter.show(); new StaticOuter().show(); } } }
四、編譯列印package com.yanqi.task10; public class StaticOuterTest { public static void main(String[] args) { // 1.宣告StaticInner型別的引用指向該型別的物件 StaticOuter.StaticInner si = new StaticOuter.StaticInner(); // 2.呼叫show方法進行測試 si.show(); System.out.println("---------------------------------------------"); si.show2(5); } }
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=54119:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task10.StaticOuterTest
靜態內部類的構造方法哦!
ia = 3
外部類中的snt = 4
---------------------------------------------
snt = 5
內部類中的成員snt = 4
外部類中的成員snt = 2
外部類的show方法就是這裡!
Process finished with exit code 0
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)