java中一个子类是否可以继承父类的构造方法

 我来答
趣事情
2015-06-20 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
子类可以继承父类的构造方法,并遵循以下原则:

1、子类无条件的继承父类的无参构造方法。

2、子类自身没有定义构造方法,继承父类的无参构造方法,作为构造方法;子类自身定义了无参构造方法。

3、对于父类的含参构造方法,子类可以在自己的构造方法的第一行使用关键字super来调用。
代码如下:

//Fighter.java

class Airplane{
private int speed;
public Airplane(int s) {
speed=s;
System.out.println;
}
}

class Warplane extends Airplane{
public Warplane() {
super(600);
System.out.println;
}
public Warplane(int s) {
super(s);
System.out.println;
}
}

public class Fighter extends Warplane{
public Fighter(){
super();
System.out.println);
}
public Fighter(int s){
super(s);
System.out.println;
}
public static void main(String[] args) {
System.out.println;
Fighter f1=new Fighter();
System.out.println;
Fighter f2=new Fighter(500);
}
}
西湖看雪9
2014-12-29
知道答主
回答量:21
采纳率:0%
帮助的人:12.4万
展开全部

构造方法不会被继承,当子类实例化时会自行先去找父类构造方法,之后再找自身构造方法。代码说明(java为例)

父类
class person
{
    public person
    {
        //父类构造方法
        System.out.println("我是父类无参构造方法");
    }
}

public class student extends person
{
    public static void main(String[] args)
    {
        //实例化student
        student stu1 = new student();
    }
}
//运行上述代码,在控制台输出:我是父类无参构造方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
淼淼想某人
2014-12-29 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:91
采纳率:100%
帮助的人:105万
展开全部
你可以试下这样:(错误的代码)
  class A{
  A(String a){
  System.out.println(a);
  }
  private String a="调用了";
  }
  class B extends A{
  B(){
  System.out.prntln("no");
  }
  }
  你必须这样:
  class A{
  A(String a){
  System.out.println(a);
  }
  private String a="调用了";
  }
  class B extends A{
  B(String a){
  super(a);
  System.out.prntln("no");
  }
  private Stirng a="调用了";
  }
  public class A {
  public static void main(String[] args) {
  B b = new B("s"); //OK
  }
}

  调用方式:如果子类没有覆盖父类的构造方法则默认调用父类的默认构造方法(即父类无参数的构造方法),也就是说如果父类的构造方法有参数则会出错。

  


  继承就跟我们现实中的父子关系差不多,要有一个孩子对象那么就得先有一个父亲(会调用父类的构造方法),所以会执行父类构造方法。另一种如果你想调用父类的带参数构造方法,那还得通过super关键字来调用。构造方法是不能继承的,想想如果能继承 那不是孩子也能构造父亲了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longxtuo
2014-12-29
知道答主
回答量:55
采纳率:100%
帮助的人:18.7万
展开全部
可以,如果子类不重写父类的构造方法,那么调用的时候就调用的是父类的构造方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式