1. 程式人生 > 實用技巧 >python自動化辦公1-os模組學習

python自動化辦公1-os模組學習

介面和方法的定義

關鍵字 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 方法名稱(引數列表){

​                //方法體

​        }

}

介面方法的使用


關鍵字:implements

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(){
        //重複程式碼
    }
}