java Person,Student,GoodStudent 三个类的继承、构造函数的执行
有这样三个类,Person,Student,GoodStudent。其中Student继承了Person,GoodStudent继承了Student,三个类中只有默认的构造函数,用什么样的方法证明在创建Student类的对象的时候是否调用了Person的构造函数,在创建GoodStudent类的对象的时候是否调用了Student构造函数?如果在创建Student对象的时候没有调用Person的构造函数(我也不知道什么情况下不会去调用,如果都是默认无参构造函数的话),那么采用什么样的手段可以调用父类的构造函数?
一、需要分析
1、Person,Student,GoodStudent三个类的继承关系
2、实现三个class的构造函数
3、打印信息查看各个类的构造函数是否被调用
二、技术点
1、弄清楚Java 类的无参构造函数是默认调用的
2、如果父类的构造函数是有参的,那么要在子类的构造函数的第一行加入super(args); 来确认对哪个父类构造函数的调用
代码:
package com.itheima;
/**
* 9、
* 有这样三个类,Person,Student.GoodStudent。其中Student继承了Person,GoodStudent继承了Student,
* 三个类中只有默认的构造函数,用什么样的方法证明在创建Student类的对象的时候是否调用了Person的构造函数,
* 在创建GoodStudent类的对象的时候是否调用了Student构造函数?如果在创建Student对象的时候没有调用Person的构造函数
* ,那么采用什么样的手段可以调用父类的构造函数?
*
* @author 281167413@qq.com
*/
public class Test9 {
public static void main(String[] args) {
Student s1 = new Student();
System.out.println("-------------------------------");
Student s2 = new Student();
System.out.println("-------------------------------");
GoodStudent g1 = new GoodStudent();
System.out.println("-------------------------------");
}
}
class Person {
Person() {
System.out.println("I'm Person!");
}
Person(String arg) {
System.out.println(arg);
}
Person(String arg1, String arg2) {
System.out.println(arg1 + arg2);
}
}
class Student extends Person {
Student() {
super("have arg!"); //
System.out.println("I'm Student!");
}
Student(String arg) {
super("have arg!", "in Person");
System.out.println(arg);
}
}
class GoodStudent extends Student {
GoodStudent() {
super("from GoodStudent!");
System.out.println("I'm GoodStudent!");
}
}
打印构造函数的调用过程:
have arg! I'm Student! ------------------------------- have arg! I'm Student! ------------------------------- have arg!in Person from GoodStudent! I'm GoodStudent! -------------------------------
相关文章
String StringBuilder StringBuffer区别以及源码分析
string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口2021-06-06
SpringBoot+mybatis+thymeleaf实现登录功能示例
这篇文章主要介绍了SpringBoot+mybatis+thymeleaf实现登录功能示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07


最新评论