JAVA进阶开发之(内部类概述)
生活随笔
收集整理的這篇文章主要介紹了
JAVA进阶开发之(内部类概述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
匿名內部類(相當于此類沒有名字):
1.什么是內部類:在類的內部又定義了一個新的類
2.內部類的分類:
靜態內部類:類似靜態變量
實例內部類:類似實例變量
局部內部類:類似局部變量
3.使用內部類編寫的代碼,可讀性很差,能不用盡量不用
4.匿名內部類是局部內部類中的一種,因為這個類沒有名字而得名,叫匿名內部類
5.不建議使用匿名內部類:因為一個類沒有名字,就意味著沒有辦法重復使用,另外代碼會太亂,可讀性就會很差
6.匿名內部類的特征:new 接口名(){}? 后面的{} 代表了對接口的實現
?
代碼演示:
import java.util.Objects;/**/ class Test01{//靜態內部類static class Inner1{}//實例內部類class Inner2{}public void doSome(){//局部內部類class Inner3{}}public void doOther(){//外面的方法訪問不了上面的局部內部類,訪問實例內部類的時候需要new[但是我們一般很少這樣去使用]new Test01().new Inner2();}//main方法的入口public static void main(String[] args){//調用Math中的mySum方法Math math=new Math();//這樣寫代碼,表示這個類名是有的,類名是ComputeImpl//math.mySum(new ComputeImpl() ,100,100);//使用匿名內部類,這個{}就代表對這個接口的實現,表示這個ComputeImpl這個類沒名字了math.mySum(new Compute(){public int sum(int a,int b) {return a + b;}} ,100,100);} }//負責計算的接口 interface Compute{//抽象方法int sum(int a,int b); } /* //你會自動在這里編寫一個Compute接口的實現類 class ComputeImpl implements Compute{public int sum(int a,int b){return a+b;} } *///數學類 class Math{//數學求和的方法public void mySum(Compute compute,int x,int y){int retValue=compute.sum(x,y);System.out.println(x+"x"+y+"y"+"="+retValue);} }?
總結
以上是生活随笔為你收集整理的JAVA进阶开发之(内部类概述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android自动回复退订,Androi
- 下一篇: 串口助手驱动_STM32Cube22(补