java 泛型實例化創建對象

//定義泛型抽象類
public abstract class TObjectFactory<T> {

    protected abstract T getTable();
    
}

//繼承使用
public class TableFactory<Table,Value> extends TObjectFactory<Table>{

    ITableDataBase<Value> p_table_t;
    
    public TableFactory(ITableDataBase<Value> p_table_t) {
        //構造傳Table類型實例
        this.p_table_t = (ITableDataBase<Value>) p_table_t;
    }

    @Override
    protected Table getTable() {
        // 類型轉換
        return (Table) p_table_t;
    }

}

public class Field{}

public abstract class ITableDataBase<T> {}

public class TableLog extends ITableDataBase<Field>{}

    //定義
    private TableFactory<TableLog, Field> p_table_log;
    // 獲取表類對象
    TableFactory<TableLog, Field> tableLog() {
        ITableDataBase<Field> p_table_t = new TableLog();
        p_table_log=new TableFactory<TableLog, Field>(p_table_t);//創建實例
        //p_table_log.getTable();//使用;

        return p_table_log;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章