1. 程式人生 > >介面和父類的使用示例

介面和父類的使用示例

一直都很迷糊的介面與父類子類問題,終於見到一個曙光了。

介面:

1、首先定義一個介面

public interface IImportData {
 public boolean importData(ArrayList<List> dataList);
}

2、書寫一個實現以上介面的class
public class ImportExcelManager implements IImportData{

      public boolean importData (ArrayList<List> dataList) {

           boolean flag=true;

           return flag;
      }
}

3、呼叫介面

IImportData importData = (IImportData) Class.forName(“ImportExcelManager”).newInstance();
boolean   flag = importData.importData(dataList);

以上就是介面的使用方法,在使用class.forName時,後面應該是實現類的完整路徑,所以其返回結果flag為true。

父類與子類的關係

1、書寫一個父類

public class CheckData {
 
    public boolean excute() {
     System.out.println("掉用父類的校驗方法");
  return false;
 }
}

2、寫一個子類繼承以上父類

public class MyCheckData extends CheckData {

 public boolean excute() {
  System.out.println("呼叫子類的校驗方法");
  return false;
 }
}

3、寫一個帶有不定參的方法類

public class ImportExcelUtil {

 public static void ImportExcel(File file,Object ...o){//不定參傳什麼都可,其實就是一個數組型別的
  System.out.println(o[0]);
  CheckData cData = (CheckData) o[2];//這個地方是我最不明白的地方,其實就是將傳過來的物件強制轉換為父型別。實際應用是呼叫的子類的方法。
  CheckData cData1 = (CheckData) o[3];
//  if(cData.excute());
  if(cData1.excute());
 }
 
}

4、書寫一個main方法進行實現。

public class Test {

   public static void main(String[] args) throws ClassNotFoundException {
       ImportExcelUtil.ImportExcel(null, 1,2,new MyCheckData(),new CheckData() );
    }
}


  以上,僅為個人見解。希望對於初學者有幫助。