Vector3类包含:
public final boolean set(float x, float y, float z) {
setX(x);
setY(y);
setZ(z);
return true;
}
Vector4类包含:
public boolean set(float x, float y, float z, float w) {
setX(x);
setY(y);
setZ(z);
setW(w);
return true;
}
没有错误。为什么呢?
答案 0 :(得分:4)
您没有覆盖set
中的Vector4
。你重载了它。 Vector4
set
方法有4个参数,但Vector3
' s set
方法有3个参数。没有错误,因为没有方法试图覆盖final
中的set
Vector3
方法。
答案 1 :(得分:1)
您没有扩展该方法,而是使用不同的签名创建了一个新的重载方法。尽管它们可能具有相同的名称,但它们的参数列表不同的事实使它们成为不同的方法。
您是否尝试使用:
覆盖Vector3.set(float,float,float)public boolean set(float x, float y, float z)
在Vector4中,编译时会出错。