欢迎来到天天文库
浏览记录
ID:40719443
大小:230.81 KB
页数:11页
时间:2019-08-06
《面向对象程序设计进阶中》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象程序设计进阶(中)super关键字this关键字重载super关键字在Java类中使用super来引用父类的成分super可用于访问父类中定义的属性super可用于调用父类中定义的成员方法super可用于在子类构造器中调用父类的构造器super的追溯不仅于直接父类调用父类构造器(案例6-3)在子类的构造器中可使用语句super(argument_list)调用父类的构造器如果子类的构造器中没有显式地调用父类构造器,也没有使用this关键字调用重载的其它构造器,则系统默认调用父类无参数的构造
2、器如果子类构造器中既未显式调用父类构造器,而父类中又没有无参的构造器,则编译出错super关键字例子(案例6-4)publicclassPerson{privateStringname;privateintage;privateStringsex;publicStringshowName(){returnname;}……}super关键字例子(con.)PublicclassTeacherextendsPerson{……//方法覆盖publicStringshowName(){//returnna
3、me+"老师";returnsuper.showName()+"老师";}……}方法的重载当类中的方法名相同时,称为方法的重载(overload)例如:publicvoidprintln(inti);publicvoidprintln(charc);publicvoidprintln(Strings);构造器的重载(案例6-5)除了方法外,类的构造器也可以实现重载类的构造器可以相互调用,调用方式是使用this关键字来实现thisJava中为解决变量的命名冲突和不确定性问题,引入关键字“this”代
4、表其所在方法的当前对象。构造器中指该构造器所创建的新对象方法中指调用该方法的对象this关键字的用法在类本身的方法或构造器中引用该类的实例变量和方法(案例6-6)将当前对象作为参数传递给其它方法或构造器(案例6-7)用来调用其他的重载的构造器(案例6-8)对象的构造和初始化分析内存分配,缺省的初始化进行实例变量的初始化如下递归的进行1.设置实例变量的值为缺省的初始值2.调用对象的构造器,绑定构造器参数。3.如果构造器中有this()调用,则根据this()调用的参数调用相应的重载构造器,然后,转到
5、步骤5;否则转到步骤4。4.除java.lang.Object类外,调用父类的中的初始化块初始化父类的属性,然后调用父类构造器,如果在构造器中有super()调用,则根据super()中的参数调用父类中相应的构造器。5.使用初始化程序和初始化块初始化成员。6.执行构造器方法体中其他语句。初始化块(案例6-9)它指的是前面章节所属的“游离块”不管使用哪个构造器创建对象,它都会被首先运行,然后才是构造器的主体部分被执行对象初始化示例(案例6-10)父类Person,子类Teacher初始化的三种情形调
6、用父类的默认构造器构造器中使用了this()调用本类中重载的构造器构造器中使用了super()调用父类的构造器
此文档下载收益归作者所有