以下代码,包含文件here
public abstract class Quart extends TweenEquation {
public static final Quart IN = new Quart() {
@Override
public final float compute(float t) {
return t*t*t*t;
}
...
如果我在运行的应用程序中的某处调用Quart.IN.compute(0.5f)(例如在每秒调用60次的render()函数中),这是否会在每次调用时创建一个新的Quart,或者是刚分配一次?
这是有道理的,对吧?
感谢, 欢呼声
答案 0 :(得分:4)
根据定义,最终变量只能分配一次。并且在加载类时初始化类的静态字段。显然,IN
Quart实例只创建一次。
答案 1 :(得分:0)
只是分配了一次
是的,您始终在同一个对象上调用compute
方法。
答案 2 :(得分:0)
只有一次。静态字段IN在第一次访问Quart类时初始化。
答案 3 :(得分:0)
您还可以通过在创建Quart实例时写入输出来检查它只创建一次:
public abstract class Quart extends TweenEquation {
public static final Quart IN = new Quart() {
{ System.out.println("created"); }
@Override
public final float compute(float t) {
return t*t*t*t;
}
...