当前位置: 首页 > 面试题库 >

构造函数中的super()

庄欣然
2023-03-14
问题内容

我正在阅读一些代码。在构造函数中,它具有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(不执行任何操作)



 类似资料:
  • 问题内容: 我有一个结构,我希望使用一些合理的默认值对其进行初始化。 通常,这里要做的是使用构造函数,但是由于go在传统意义上并不是真正的OOP,所以它们不是真正的对象,也没有构造函数。 我注意到了init方法,但这是在包级别。还有其他类似的东西可以在结构级别使用吗? 如果不是,那么Go中这种事情的公认最佳实践是什么? 问题答案: 实际上有两种公认的最佳实践: 将结构的零值设为明智的默认值。(尽管

  • JavaScript 中的构造函数和其它语言中的构造函数是不同的。 通过 new 关键字方式调用的函数都被认为是构造函数。 在构造函数内部 - 也就是被调用的函数内 - this 指向新创建的对象 Object。 这个新创建的对象的 prototype 被指向到构造函数的 prototype。 如果被调用的函数没有显式的 return 表达式,则隐式的会返回 this 对象 - 也就是新创建的对象

  • 问题内容: 我知道不可能在接口中定义构造函数。但是我想知道为什么,因为我认为这可能非常有用。 因此,您可以确定为该接口的每种实现定义了类中的某些字段。 例如,考虑以下消息类: 如果为该类定义一个接口,以便我可以有更多实现消息接口的类,则只能定义send方法,而不能定义构造函数。那么,如何确保此类的每个实现都确实有一个接收者集?如果我使用类似的方法,则不能确定是否真的调用了该方法。在构造函数中,我可

  • 问题内容: 在C ++中,对象的生命周期从构造函数成功完成时开始。在构造函数内部,该对象尚不存在。 问:从构造函数发出异常是什么意思? 答:这意味着构造已失败,该物体从未存在,其寿命从未开始。[ 来源 ] 我的问题是:Java是否同样适用?例如,如果我移交给另一个对象,然后构造函数失败,会发生什么情况? 这个定义明确吗?现在是否有对非对象的引用? 问题答案: 该对象存在,但未正确初始化。 每当构造

  • 我知道这个问题被问了很多次,但仍然不清楚。很多人刚才说, 如果您想访问,请将道具传递给构造函数 答案的另一个例子 Oficial doc说类组件应该始终使用props调用基构造函数,但如果我们不将传递给,我们仍然会将放在除构造函数之外的所有地方。 同样从react源代码中,我们可以看到react.Component 但这更让我困惑应使用两个参数调用:和。但是我们调用了super-empty,仍然可

  • 实际上,我不明白无参数构造函数和默认构造函数的区别是什么。 在创建名为cFrame的Test对象时,是否调用此类的默认构造函数?