构造函数是不可以继承的,但是子类在创建时会调用父类的构造函数.
我贴一段黑马的基础测试的代码上来证明吧.- /*
- * 需求:有这样三个类,Person,Student.GoodStudent。
- * 其中Student继承了Person,GoodStudent继承了Student,三个类中只有默认的构造函数,用什么样的方法证明在创建Student类的对象的时候是否调用了Person的构造函数,
- * 在创建GoodStudent类的对象的时候是否调用了Student构造函数?如果在创建Student对象的时候没有调用Person的构造函数,那么采用什么样的手段可以调用父类的构造函数?
- * 方法:在Person,Student,GoodStudent的构造函数内加上特定的参数,然后创建一个新类继承GoodStudent.然后在主函数内打印新类
- */
- package com.itheima;
- class Person{
- Person(){//创建构造函数.
- String name = "LiLei";//定义姓名.
- int age = 12;//定义年龄.
- System.out.println("姓名:"+name);
- System.out.println("年龄:"+age);
- }
- }
- class Student extends Person{
- Student(){
- int Class = 1;//定义班级.
- System.out.println("班级:"+Class);
- }
-
- }
- class GoodStudent extends Student{
- GoodStudent(){
- int exam = 100;//定义考试成绩.
- System.out.println("成绩:"+exam);
- }
- }
- class VeryGoodStudent extends GoodStudent{//创建一个新类,继承上面所有类.
- void run(){
-
- }
- }
- public class Test9 {
- public static void main(String[] args){
- VeryGoodStudent Stu = new VeryGoodStudent();
- Stu.run();//调出创建的新类,证明继承了所有的类.
- }
- }
复制代码 |