介绍
这期内容当中小编将会给大家带来有java中关的人,学生和GoodStudent类的继承,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
有这样三个类,人,学生,GoodStudent。其中学生继承了人,GoodStudent继承了学生,三个类中只有默认的构造函数,用什么样的方法证明在创建学生类的对象的时候是否调用了人的构造函数,在创建GoodStudent类的对象的时候是否调用了学生构造函数?如果在创建学生对象的时候没有调用人的构造函数(我也不知道什么情况下不会去调用,如果都是默认无参构造函数的话),那么采用什么样的手段可以调用父类的构造函数?
<强>一、需要分析强>
1人,学生,GoodStudent三个类的继承关系
2,实现三个类的构造函数
3,打印信息查看各个类的构造函数是否被调用
<强>二、技术点强>
1,弄清楚java类的无参构造函数是默认调用的
2,如果父类的构造函数是有参的,那么要在子类的构造函数的第一行加入超级(args);来确认对哪个父类构造函数的调用
代码:
包com.itheima;/* * * 9, *有这样三个类,人,Student.GoodStudent。其中学生继承了人,GoodStudent继承了学生, *三个类中只有默认的构造函数,用什么样的方法证明在创建学生类的对象的时候是否调用了人的构造函数, *在创建GoodStudent类的对象的时候是否调用了学生构造函数?如果在创建学生对象的时候没有调用人的构造函数 *,那么采用什么样的手段可以调用父类的构造函数? * * @author 281167413 @qq.com */公开课Test9 { 公共静态void main (String [] args) { 学生s1=new (); System.out.println(“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -产生绯闻;); 学生s2=new (); System.out.println(“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -产生绯闻;); GoodStudent g1=new GoodStudent (); System.out.println(“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -产生绯闻;); } } 类人{ 人(){ System.out.println(“我# 39;米人!“); } 人(字符串参数){ System.out.println (arg); } __arg1人(字符串,字符串最长){ system . out。println (__arg1 +最长); } } 类学生扩展Person { 学生(){ 超级(“arg !“);//System.out.println(“我# 39;米学生!“); } 学生(String参数){ 超级(“arg !“,“在Person"); System.out.println (arg); } } 类GoodStudent扩展学生{ GoodStudent () { 超级(“GoodStudent !“); System.out.println(“我# 39;米GoodStudent !“); } }
打印构造函数的调用过程:
参数! 我# 39;m学生! ------------------------------- 有参数! 我# 39;m学生! ------------------------------- 有参数!在人 从GoodStudent ! 我# 39;m GoodStudent ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
上述就是小编为大家分享的java中的人,学生和GoodStudent类的继承了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。