//定义泛型抽象类
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;
}