相关疑难解决方法(0)

Java构造函数继承

我想知道为什么java构造函数不会被继承?你知道什么时候有这样的课:

public class Super {

  public Super(ServiceA serviceA, ServiceB serviceB, ServiceC serviceC){
    this.serviceA = serviceA;
    //etc
  } 

}
Run Code Online (Sandbox Code Playgroud)

稍后当你继承时Super,java会抱怨没有定义默认的构造函数.解决方案显然是这样的:

public class Son extends Super{

  public Son(ServiceA serviceA, ServiceB serviceB, ServiceC serviceC){
    super(serviceA,serviceB,serviceC);
  }

}
Run Code Online (Sandbox Code Playgroud)

这段代码是重复的,而不是干的和无用的(恕我直言)...所以这又带来了问题:

为什么java不支持构造函数继承?不允许这种继承有什么好处吗?

java inheritance constructor

179
推荐指数
4
解决办法
13万
查看次数

Javadoc继承父构造函数文档

考虑我正在扩展一个类,如:

public class MyComboBox<T> extends JComboBox<T> {

    public MyComboBox() {
        super();
    }

    public MyComboBox(ComboBoxModel<T> model ) {
        super(model);
    }

}
Run Code Online (Sandbox Code Playgroud)

重新定义父的构造函数(当然适合我的新类)很烦人,但是复制每个构造函数的文档甚至更糟.更不用说它对于进一步继承是不好的,因为我现在必须多次更新文档.

显然,{@inheritDoc}不会起作用,因为我没有压倒任何东西.然而,这是我正在寻找的行为.有没有办法实现这个目标?

如何继承父构造函数文档?

java oop inheritance javadoc

14
推荐指数
1
解决办法
4862
查看次数

标签 统计

inheritance ×2

java ×2

constructor ×1

javadoc ×1

oop ×1