# 內/外部類別 ```java= public class A{ //外部類別:只能為公開、不可為靜態、可加final class Inner{ //內部類別:可以為隱私(通常也設為私有化)、可為靜態、可加final } } ``` - 外部類別有的結構,內部類別也有 - 建構子 - 方法 - 內部類別可以屬性設置 ```java= //這是一個公開類別下方 private Inner inr;//於外部類別中將內部類別使用屬性方式呼叫;或在寫於方法中,詳參下方"完整檔案"的連結,有這種寫法 ... ... public void method01(){//放入同類別下的公開方法中 inr=new Inner(); inr.method(); } ``` 如果寫在建構子,於其他檔案中呼叫會直接運行,等同於: ```java= private Inner inr=new Inner(); inr.method(); ``` 也可以返回不同型態的值,範例如下: ```java= //一內部類別中 public int m(){ //我發現這裡型態為空時疑似印不出來東西 ...println("Inner"); return 10; } ``` ```java= //同class下一個公開方法(已設置屬性) public int method(){ inr=new Inner(); return inr.method(); } ``` - 以上方法在其他檔案中實體化 ```java= //某個檔案的某一方法中 Demo01 d=new Demo01(); d.method ``` 以上說明可能不是這麼好閱讀,可參考:[範例1完整檔案](/mI0u4LrGSIC4-ej8KfOohA) [範例2完整檔案](/cMeTd5_1RpO6_y_exyqyDw)