java - 从重载类方法调用 super() 是否使用非参数化方法中的变量?

标签 java

经过一番研究,我发现当子类扩展父类时,super() 是有益的。

但是如果我有 1 个带有两种方法的 Foo.class 该怎么办

private variable variable;
private String variable2;

public Foo()
{
   this.variable = new variable();
}

public Foo(String Paramater)
{
   super();
   this.variable2 = Paramater;
}

从使用 super() 时调用第一个方法的意义上来说,这是否有效

只是为了澄清我的问题..有人可以向我解释一下这段代码中发生了什么吗?

public ProductDimensions() { }
public ProductDimensions(String sku, String size, double width, double depth, double height, double weight) {
    super();
    this.sku = sku;
    this.size = size;
    this.width = width;
    this.height = height;
    this.depth = depth;
    this.weight = weight;
}

当我的类没有扩展任何东西时,为什么会调用 super ?难道只是没用吗?

最佳答案

构造函数中的

super() 始终调用基类中匹配的构造函数。在这种情况下可能是java.lang.Object。因此,在您的代码中,这两个构造函数除了位于同一个类中之外没有任何关系。

如果您想在同一个类中链接构造函数,则必须使用 this() (或必要的参数)。

关于java - 从重载类方法调用 super() 是否使用非参数化方法中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54312787/

相关文章:

java - JButton 单击时会在文本周围留下一些边框

java - 使用Java将Microsoft Office文档和PDF文档转换为图像文件

Java 按钮创建无法正常工作

java - 避免在数组列表中插入重复项

java - 在 Java 中将数据表示为图表

java - 如何用对象手动填充数组?

java - 编译器如何选择正确的重写方法

java - 如何完全停止包含缓冲读取器的线程?

Java:部署到服务器后FileNotFound

java - 为什么我的 JFrame 是空白的?