3 回答
湖上湖
TA贡献2003条经验 获得超2个赞
static 适用于您不希望每个实例都有副本的情况
instance 变量适用于您希望为每个对象实例单独复制的情况。
根据业务案例,使用哪一个可能会发生变化。
子衿沉夜
TA贡献1828条经验 获得超3个赞
如果你有太多静态函数和变量,它可以导致更实用的方法,而不是真正的OO。此外,如果您有公共静态变量,那么您复制的全局变量并不好。跟踪他们是一场噩梦。
一般来说,我的规则是使用实例变量,如果你可以而且只有静态变量和函数,如果它真的是一般而不是一个对象
这是类似问题Java的一个很好的答案 :什么时候使用静态方法
而不是仅仅链接到方法考虑使用新操作来创建新对象并以非静态方式从该方法访问该方法。
之前
public void myMethod(){
Time.setTime(Time.getTime() + 20);
System.out.println(Time.getTime());
}
后
public void myMethod(){
Time t = new Time();
t.setTime(t.getTime() + 20);
System.out.println(t.getTime());
}
现在,在这些方法中保存的任何状态都是您创建的时间的实例。如果需要,您还可以与其他方法共享变量t。
添加回答
举报
0/150
提交
取消
