发布时间:2019-07-29 21:54:46
是的,构造子类对象之前肯定会先构造父类对象,这么和你说吧,如果没有父亲又怎么会有子女呢?所以要有子类对象就必须把父类对象构造出来,像你现在的程序,学生类继承了人类,那么在学生类的构造方法里会有这样一句语句:super();如果你显式地写出来也可以,但是你不写的话,系统会自动加上这句,并且这必须是子类构造方法里的第一个语句。你的程序里学生类并没有显式地给出构造方法,所以这些东西你都看不见,你想看见效果那么你可以这样写:
123456789101112 public Person(){System.out.println("This is a person");}//此构造方法放在person类 Public Student(){System.out.println("This is a student");}//此构造方法放在Student类 把其他的东西都删掉,你在main方法里直接构造一个学生类,那么你会发现输出的是This is a person。This is a student