名企高頻筆試題目(2)
阿新 • • 發佈:2020-09-07
介面和方法的定義
關鍵字 interface
介面就是多個類的公共規範,介面是一種引用資料型別
介面中最重要的就是抽象方法
實現類如果不想全部實現介面中的抽象方法,那麼本身也必須是抽象類
介面中可以包含的內容有:
Java 7 可以包含
1:常量
2:抽象方法
Java 8 可以包含
3:預設方法
4:靜態方法
Java 9 之後可以包含
5:私有方法
介面當中也可以定義【成員變數】,但是必須使用【 public static final 】三個關鍵字進行修飾
從效果上看,這就是介面的【常量】
在建立的時候就必須賦值,並且因為使用了【 final 】關鍵字,賦值之後不能再修改
常量名稱一般使用大寫字母,如果有多個單詞用下劃線分隔
public interface 介面名稱 { public static final 資料型別 常量名稱=值; }
定義一個介面
public interface 介面名稱{ //介面內容 }
定義一個抽象方法
public interface 介面名稱{ public abstract void 方法名稱(引數列表); }
定義一個預設方法
public interface 介面名稱{ public default void 方法名稱(引數列表){ //方法體 } }
定義一個靜態方法
public interface 介面名稱{ public static void 方法名稱(引數列表){ //方法體 } }
定義一個私有方法
public interface 介面名稱{ public default void 方法名稱(引數列表){ //方法體 } }
1:介面不能直接使用,必須有一個“實現類”來“實現”該介面
格式:public class 類名稱 implements 介面名稱{
//...
}
2:介面的實現類必須覆蓋重寫(實現)介面中所有的抽象方法
實現,去掉 【abstract 】關鍵字,加上方法體大括號。
3:建立實現類的物件,進行使用
public interface 介面名稱 { public static final 資料型別 常量名稱=值; }
public class Demo { public static void main(String[] args) { System.out.println(介面名稱.常量名稱); } }
使用介面的抽象方法
public interface 介面名稱{ public abstract void 方法名稱(引數列表); }
public class 類名稱 implements 介面名稱{ @Override public void 方法名稱(引數列表) { //方法體 } }
使用介面的預設方法
public interface 介面名稱 { public default void 方法名稱(引數列表){ //方法體 } }
public class 實現類名稱 implements 介面名稱{ }
public class 類名稱 { public static void main(String[] args) { 實現類名稱 物件名=new 實現類名稱(); 物件名.方法名(引數列表); } }
使用介面的靜態方法
介面的靜態方法不能通過實現類的物件來呼叫介面中的靜態方法,應通過介面名稱【.】上其中的靜態方法呼叫
public interface 介面名稱 { public static void 方法名稱(引數列表){ //方法體 } }
public class 類名稱 { public static void main(String[] args) { 介面名稱.靜態方法名稱(引數列表); } }
使用介面的私有方法
只能在本介面中使用,用來解決介面中方法的重複程式碼
public interface 介面名稱 { public default void 方法名稱1(){ //程式碼塊 方法名稱3(); } public default void 方法名稱2(){ //程式碼塊 方法名稱3(); } private void 方法名稱3(){ //重複程式碼 } }