java Person,Student,GoodStudent 三个类的继承、构造函数的执行

网友投稿 258 2023-06-09


java Person,Student,GoodStudent 三个类的继承、构造函数的执行

有这样三个类,Person,Student,GoodStudent。其中Student继承了Person,GoodStudent继承了Student,三个类中只有默认的构造函数,用什么样的方法证明在创建Student类的对象的时候是否调LjBecNC用了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!");http://

}

}

打印构造函数的调用过程:

have arg!

I'm Student!

-------------------------------

have arg!

I'm Student!

-------------------------------

have arg!in Person

from GoodStudent!

I'm GoodStudent!

-------------------------------


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java打印出所有的水仙花数的实现代码
下一篇:Bootstrap 3 按钮标签实例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~