public class A {
 public A(String str) {
  this.str = str;
 }
}public class B extends A {
 public B(String str1) {
  this.str1 = str1;
 }
 public B(String str1, String str2) {
  //...
  //..
 }
 public B() {
 
 }
}class B 里的构造函数可以这么写吗
为什么

解决方案 »

  1.   

    不知道楼主问什么?
    class A 中要有默认的构造方法,子类才能继承,
    class B 中可以有自己的构造方法,重载多个没问题
      

  2.   

    刚试了下,父类中必须显式声明public A(){}才行
      

  3.   

    显然不行,在调用B的构造方法之前,会自动调用父类的无参构造函数,而A中没有无参构造函数了
    解决的方法:
    1、在A中提供一个无参构造函数或
    2、在B的每个构造函数定义的第一行写上super("某一String");