1. ホーム
  2. java

[解決済み] コンストラクタ内のsuper()

2022-03-05 15:36:52

質問

あるコードに目を通しています。コンストラクタにsuper()がありますが、このクラスはインターフェイスを実装しており、もちろんコンストラクタを持ちません。では、どのsuper()を指しているのでしょうか?

public class BoundingBox implements IBoundingVolume {

public BoundingBox() {
        super();
        mTransformedMin = new Number3D();
        mTransformedMax = new Number3D();
        mTmpMin = new Number3D();
        mTmpMax = new Number3D();
        mPoints = new Number3D[8];
        mTmp = new Number3D[8];
        mMin = new Number3D();
        mMax = new Number3D();
        for(int i=0; i<8; ++i) {
            mPoints[i] = new Number3D();
            mTmp[i] = new Number3D();
        }
}


public interface IBoundingVolume {
    public void calculateBounds(Geometry3D geometry);
    public void drawBoundingVolume(Camera camera, float[] projMatrix, float[] vMatrix, float[] mMatrix);
    public void transform(float[] matrix);
    public boolean intersectsWith(IBoundingVolume boundingVolume);
    public BaseObject3D getVisual();
}

解決方法は?

super() とは、拡張された class (実装されたインターフェースではありません)。この場合 Object

でコンストラクタを呼び出します。 Object (何もしませんが)