我正在使用它有一个公共静态浮点变量的库我想知道如何覆盖它 我想这不会发生?
//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 {
}
由于
答案 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)
你不能,这就是他们最终的结果。
至于你的代码,你没有最终的变量,所以你只需要改变它就可以了。