欢迎来到天天文库
浏览记录
ID:51963940
大小:117.00 KB
页数:10页
时间:2020-03-26
《Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第4章 面向对象高级技术2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象高级技术2类的继承(续)本单元教学内容子类构造器方法子类对父类成员变量的隐藏子类对父类成员方法的覆盖子类构造器为Vehicle类添加构造器方法,观察编译结果子类构造器构造器主要用来完成对类成员属性进行初始化,子类中的属性包含从父类继承下来的属性和自己新添加的属性属性初始化的顺序规定为:先初始化从父类中继承的属性,再初始化子类新添加属性。格式:constructor(){super(父类构造器参数);//调用父类构造器其它;//对本类属性进行初始化或其它处理代码}编程实践调试例4-3程序思考问题:1。父
2、类构造器能被子类继承吗?2。当父类含有带参数的构造器方法时,子类的构造器方法的基本格式为什么?3。Java类中super与this分别代表什么?实战演习:按照习题1、2修改PlainRect类子类对父类属性的隐藏调试例题4_4思考问题:1。程序中this.rentPrice和super.rentPrice分别指的是什么?变量隐藏:如果子类声明了一个与父类的成员变量同名的成员变量,则称父类的该成员变量被隐藏(hiding)子类对父类属性的隐藏(续)下面代码段的输出结果是?classA{protectedintx
3、=10;}classBextendsA{privateintx=20;voidprint(){System.out.println(“x=“+x);publicstaticvoidmain(Stringargs[]){Bb=newB();b.print();}}1.输出x=20还是x=10?2.如何访问从父类继承下来的x值?this与super每个类中有两个隐含的对象this与super:this是代表本类的一个对象,可以通过this.属性的形式来引用本类的属性;super是代表父类的一个对象,可以通过sup
4、er.属性的形式来引用父类的属性;使用this与super可以解决父类属性被隐藏的情况;如果在方法内部也有与类成员属性同名的变量,可以这样来区分它们(以变量名为x为例):x:代表方法的局部变量this.x:代表本类的成员属性值super.x:代表从父类继承下来的但被隐藏的x值子类对父类方法的覆盖如果子类声明了一个与父类的成员方法同名的成员方法,则称父类的该成员方法被重写或覆盖(overriding)方法覆盖是Java实现多态性机制的另一种方式。出现方法覆盖时,同样可通过this和super来区分是父类方法还是
5、子类方法。方法覆盖规则:1.方法名、参数个数、对应参数类型一样,也称为方法签名一样;2.返回值类型一样;3.子类方法的访问控制较父类方法访问控制修饰更松;实战演习调试p81页中的类Car5编写Car5的测试程序(p82)回答问题1。calcuRent方法中为什么首先调用calcuRentPrice方法?2。Car5类中的calcuRent方法与父类中的calcuRent方法定义的异同?习题3、4
此文档下载收益归作者所有