內部類的分類以及使用

2021-10-08 23:24:46 字數 1250 閱讀 7554

內部類的分類

內部類的定義:定義在乙個類的內部的類就是內部類。

就像是定義類一樣,類內部的變數有區域性變數和成員變數,在類中方法外的變數為成員變數,在方法重點的變數是區域性變數。

所以內部類也分為:成員內部類 和 區域性內部類。

內部類的特別之處:可以用static 修飾類。內部類可以隨意訪問外部類的成員變數和成員方法,哪怕是私有的(模擬一下成員方法呼叫成員變數,靜態的只能訪問靜態的),需要注意的是如果內部類只要有靜態成員,那麼該內部類也要申明為靜態。

eg:

## 成員內部類:

class outer

class inner

}}public class outerdemo

}//假如,內部類是靜態的,而且內部類的方法也是靜態的,那麼內部類的方法呼叫就猶如 一般類中靜態成員的呼叫一樣簡單了

eg:class outer

//內部類方法為非靜態

public void innerprint02()

}}public class outerdemo

}## 成員內部類的測試

class outer

//內部類方法為非靜態

public void innerprint02()

}}public class outerdemo

}## 區域性內部類

內部類在外部類的區域性位置的內部類位區域性內部類

class outer

}inner inner = new inner();

inner.innerprint();

}}public class outerdemo

}

內部的的引申就是我們經常會用到的匿名內部類了,他的定義是什麼呢?

前提:存在乙個類或者介面,這個類可以是抽象的也可以是具體類。

格式: new 類或者介面名()
匿名內部類的實質:繼承了某類 或者 實現了某個介面,並且重寫了方法的子類匿名物件。

inte***ce  inner

class outer };}

}public class outerdemo

}建立執行緒的時候:

new thread()

}.run();

}這也是我們經常用到的匿名內部類的場景,繼承 thread 類,得到了匿名內部類 ,他的本質也是執行緒的子類,再 .run方法,去執行執行緒。

內部類的主要分類,以及各個內部類的特點

內部類可以分為很多種,但是主要有4種內部類 靜態內部類 成員內部類 區域性內部類 匿名內部類。1.靜態內部類是指被宣告為static的內部類,不能訪問外部類的普通成員變數,只能訪問外部類中的靜態成員變數和靜態方法。2.去掉關鍵字static就是成員內部類,可以自由的引用外部類的屬性和方法。3.區域性...

內部類的分類

靜態內部類,非靜態內部類 非靜態內部類 public class inclass class outer class inner 要點 1.非靜態的內部類必須寄存在乙個外部類的物件裡,因此,如果有乙個非靜態內部類物件那麼一定存在乙個對應的外部類物件,非靜態內部類物件單獨屬於外部類的某個物件 2.非靜...

內部類的分類

成員內部類 區域性內部類 靜態內部類 匿名內部類 內部類可以直接訪問外部類的變數,方法,包括私有。外部類要訪問內部類的變數或者方法需要建立內部類的物件。成員內部類 內部類的位置處在外部類的成員變數的位置。class outter 內部類的例項化 外部類名.內部類名 物件名 new 外部類名.new ...