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;
    }

 

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