【8-20】java学习笔记02
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【8-20】java学习笔记02
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                others
?
- 初始化塊在構造器前執行;
- 靜態初始化塊和實例變量顯示初始化執行順序為各自定義的位置;
- final類不能派生子類,final方法不可覆蓋,final變量不可重新賦值;
- 判定值相等,String類已經重寫了equals方法,其它類的equals方法需要重寫才能實現值相等的判定;
- 單例類,只創建一個對象的類,用private修飾隱藏其構造函數,成員和函數用static修飾,public static修飾的方法,確保只產生一個對象;
- 不可變類:類一旦創建,其實例變量值不可變:field用final和private修飾,并避免提供修改的函數;
- final修飾的類,不可有子類;
- final修飾的方法不可重寫;
抽象類
- 有抽象方法的只能被定義為抽象類,抽象類可以不含抽象方法,abstract;
- 抽象方法和類由abstract修飾,抽象方法無方法體;
- 抽象類不能實例化,不能用new創建;
- 抽象類的構造器不負責創建實例,可以提供給子類調用;
- ?發揮多態特性,BaseClass BC=new SubClass(構造器);
- 抽象類中可以包含普通方法;
接口
-  接口不包含方法; 
- [修飾符] interface 接口名 extands 父接口1,父接口2...
- 接口方法只能是:抽象方法,默認方法,類方法,成員變量為靜態常量
- 修飾符public static abstract final 等會自動追加;
- 默認方法默認為public修飾,加入default修飾符;
- 類方法:static public修飾
- 成員變量:public static final修飾;
- 內部所有成員用public訪問權限,省略時為包文件訪問權限;
- 接口繼承用extends,實現用implements,多繼承和多實現時用逗號隔開;
- 實現類必須全部實現接口方法;
?抽象類和接口的對比
微信文章源
| 參數 | 抽象類 | 接口 | 
| 默認的方法實現 | 它可以有默認的方法實現 | 接口完全是抽象的。它根本不存在方法的實現 | 
| 實現 | 子類使用extends關鍵字來繼承抽象類。如果子類不是抽象類的話,它需要提供抽象類中所有聲明的方法的實現。 | 子類使用關鍵字implements來實現接口。它需要提供接口中所有聲明的方法的實現 | 
| 構造器 | 抽象類可以有構造器 | 接口不能有構造器 | 
| 與正常Java類的區別 | 除了你不能實例化抽象類之外,它和普通Java類沒有任何區別 | 接口是完全不同的類型 | 
| 訪問修飾符 | 抽象方法可以有public、protected和default這些修飾符 | 接口方法默認修飾符是public。你不可以使用其它修飾符。 | 
| main方法 | 抽象方法可以有main方法并且我們可以運行它 | 接口沒有main方法,因此我們不能運行它。 | 
| 多繼承 | 抽象方法可以繼承一個類和實現多個接口 | 接口只可以繼承一個或多個其它接口 | 
| 速度 | 它比接口速度要快 | 接口是稍微有點慢的,因為它需要時間去尋找在類中實現的方法。 | 
| 添加新方法 | 如果你往抽象類中添加新的方法,你可以給它提供默認的實現。因此你不需要改變你現在的代碼。 | 如果你往接口中添加方法,那么你必須改變實現該接口的類。 | 
轉載于:https://www.cnblogs.com/achievec/p/4745701.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【8-20】java学习笔记02的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: CSDN下载频道2014年11月4日本-
- 下一篇: !-- --注释和%-- --%注释的区
