java 父类静态变量_Java:覆盖父类的静态变量?

我有以下类,我正在使用它作为我项目中所有模型的基础:

public abstract class BaseModel

{

static String table;

static String idField = "id";

public static boolean exists(long id) throws Exception

{

Db db = Util.getDb();

Query q = db.query();

q.select( idField ).whereLong(idField, id).limit(1).get(table);

return q.hasResults();

}

//snip..

}

我正试图通过以下方式扩展它:

public class User extends BaseModel

{

static String table = "user";

//snip

}

但是,如果我尝试执行以下操作:

if ( User.exists( 4 ) )

//do something

然后,而不是查询:“SELECT id FROM user WHERE id =?”,它正在产生查询:“SELECT id from null WHERE id =?”.因此,覆盖User类中的表字段似乎没有任何效果.

我该如何克服这个问题?如果我将一个setTable()方法添加到BaseModel,并在User的构造函数中调用setTable(),那么表的新值是否也可用于User类的所有方法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值