发现一个 有意思的问题,父类如果没有定义无参数构造器的话,那么子类的构造会报错。 具体参考下面 被注释掉的部分。 具体报错如下:

/Users/yipengwang/IdeaProjects/my_java_project/oop/src/com/wyp/test/ExtendsTest.java:34:59

java: constructor Person in class com.wyp.test.Person cannot be applied to given types;

  required: java.lang.String,int

  found:    no arguments

  reason: actual and formal argument lists differ in length


com.wyp.test;

ExtendsTest {
    (String[] args) {
        Person p1 =  Person(, );
        Student s1 = Student(, , );
        p1.rest();
        s1.rest();
        s1.study();
        System..println(s1.);
    }
}

Person {
    String ;
    ;
    (String name, height) {
        .= name;
        .= height;
    }
    () {
        System..println();
    }
}

Student Person {
    String ;
    ;
    String ;
    (String name, height, String major) {
        .= major;
        .= height;
        .= name;
    }
    () {
        System..println();
    }
}


想请教一下这个具体是什么原理? 

相关课程:JAVA 全系列>第一阶段:JAVA 快速入门>面向对象详解和JVM底层内存分析>面向对象三大特征_继承_instanceof的使用

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637