最后的父类内部定义了有参构造函数方法,子类内可不可以也重写该构造方法呢?

来源:9-7 Java 中的 super 的使用

smedlut

2015-10-24 11:44

最后的父类内部定义了有参构造函数方法,子类内可不可以也重写该构造方法呢?

写回答 关注

3回答

  • 小城阿哥
    2015-10-24 12:00:48
    已采纳

    不可以,  构造方法是不可以重写的    如下,构造方法名和类名是相同的,子类和父类类名不同,构造方法自然不能相同,所以也谈不上重写

    Class A{
    public A{
    }
    public A(String s){
    }
    
    Class B extends A{
    public B(String s){
    //super(s);
    }


    smedlu...

    解释的简单易懂。附有代码。非常感谢!

    2015-10-24 14:48:13

    共 1 条回复 >

  • 爱土豆
    2015-11-10 20:13:07

    因该是可以的吧,构造方法也是方法啊,只要在子类中创建与父类的构造方法方法名、参数、返回值类型相同的方法,再进行重写就行了吧

    class tudou_ extends tu{
    public tudou_(){
     System.out.println("tudou执行了");
    }
    void tu(int i){
     this.i = 2;
    }

    }

    class tu{
    int i;
    tu(){
    }
    tu(int i){
     this.i = i;
    }
    }

    怒放的生命0...

    你这是方法的重写,子类中定义的是个普通方法,调用的也是父类的普通方法,而非父类的构造方法

    2016-05-22 23:02:32

    共 1 条回复 >

  • 子木李
    2015-10-24 11:58:03

    子类不能继承父类的构造方法,也不能覆盖父类的构造方法。,子类如果想使用父类的构造方法,必须在子类的构造方法中使用关键字super来表示,并且super必须是子类构造方法中的头一条语句,子类在实例化对象时,如果子类的构造器没有显示的调用超类的方法,则将自动调用父类默认构造器。如果父类没有不带参数的构造器,且子类的构造器中又没显示的调用超类其他构造器,则Java编译器将报告错误。所以子类使用父类的构造方法是通过super关键字实现的

    smedlu...

    非常感谢!

    2015-10-24 14:49:28

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题