java - 在Java中,我们如何知道构造函数中的super()何时完成?

标签 java swing constructor jtable super

据我所知:当创建子类时,所有构造函数都会隐式或显式调用 super()。

示例:

class subclass extends superclass {
    public subclass() {
        super();  // unnecessary, but explicit
    }

我如何知道 super() 何时完成?我正在创建一个需要自动调整列的 JTable 子类,但只能在 super() 完成后才能安全地执行此操作。

-- 编辑--

为了根据下面的注释进行澄清,假设 super() 还将调用一些类方法。我可以在我的子类中重写其中一些方法。我想在基类构造期间修改这些方法中的行为。也许某些必需的成员尚未(完全)初始化......

最佳答案

当对 super() 的调用返回时,

super() 完成(这同样适用于任何其他方法调用)。

如果您按照示例显式调用它,则当到达 super() 调用之后的行时,super() 已完成执行。如果您允许隐式调用它,则当执行到达构造函数中的第一行时,super() 已完成。

当然,有可能是 super() 生成一个或多个后台线程,这些线程执行各种任务,并且在调用 super( ) 返回。但这实际上与对 super() 的调用无关。在这种情况下,其他任务完成的时间与 super() 调用完成的时间没有任何关系。

关于java - 在Java中,我们如何知道构造函数中的super()何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871275/

相关文章:

c++ - 必须推迟成员变量的初始化。该类(class)的最佳设计选择是什么?

c# - 将 C# Ctor 翻译成 Vb.Net 等价物

java - 返回数据结构以显示信息

Java 执行器服务线程池

java - 通知桌面任务已完成

java - CardLayout 不显示下一张卡

java - 神经病 : Multi Layer Perceptron Backpropagation learning not working

java - 如何使用 Java DOM 解析器在 XML 中查找节点属性值并将其删除

java - Graphics2D 转换结果与手动转换不匹配

c++ - 向类的构造函数添加虚拟参数以解决调用歧义是否违反任何规则?