介面和父類的使用示例
一直都很迷糊的介面與父類子類問題,終於見到一個曙光了。
介面:
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() );
}
}
以上,僅為個人見解。希望對於初學者有幫助。