如何覆盖类的静态变量

时间:2011-03-22 20:00:14

标签: java box2d

我正在使用它有一个公共静态浮点变量的库我想知道如何覆盖它 我想这不会发生?

//Settings.java
package org.jbox2d.common;

public class Settings {
    public static float velocityThreashold = 1.0f;
}

//MyClass.class
package org.jbox2d.common;

import com.otherlibrary
public class MyClass {

}

由于

4 个答案:

答案 0 :(得分:1)

您不能在Java中覆盖成员变量。你可以使用一种叫做字段隐藏的东西。看看this

但是在您的示例中velocityThreashold不是最终的,因此您可以更改它的值。

答案 1 :(得分:0)

覆盖变量?如果你的意思是方法,那么:

您不能覆盖静态方法,因为静态元素不是继承的

答案 2 :(得分:0)

示例中的velocityThreashold变量不是final,也不是实例变量,因此在技术上不能被覆盖。

您可以做的是将velocityThreashold的值设置为您想要的任何值,因为它是公开的。

我认为你想要做的事情如下:

public static void main(String[] args) {
  org.jbox2d.common.Settings.velocityThreashold = 2.0f;

  //... the rest of your program
}

答案 3 :(得分:0)

你不能,这就是他们最终的结果。

至于你的代码,你没有最终的变量,所以你只需要改变它就可以了。