我有一个由孩子们扩展的父类Table
。
父类:
abstract class Table{
public static String getFullTable(){
return child.DBTABLE + '.' + child.DBNAME;
}
}
样本表
class User extends Table{
public static final String DBTABLE = "user";
public static final String DBNAME = "test";
}
致电User.getFullTable()
时,我想要检索值test.user
。
可以这样做吗?
答案 0 :(得分:1)
添加从子类请求信息的抽象方法,如下所示:
abstract class Table{
protected abstract String getDBTable();
protected abstract String getDBName()
public String getFullTable(){
return getDBTable() + '.' + getDBName();
}
}
class User extends Table{
public static final String DBTABLE = "user";
public static final String DBNAME = "test";
protected String getDBTable() {
return DBTABLE;
}
protected String getDBName() {
return DBNAME;
}
}
值得注意的是,我将getFullTable()
更改为非静态。在抽象类中使用一个静态方法,该方法依赖于它的子类实际上没有任何意义。