欢迎来到天天文库
浏览记录
ID:51617475
大小:77.50 KB
页数:8页
时间:2020-03-26
《Java&JBuilder教学资料 面向对象高级技术2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象高级技术2本单元教学内容子类构造器方法子类对父类成员变量的隐藏子类对父类成员方法的覆盖子类构造器为Vehicle类添加构造器方法,观察编译结果子类构造器构造器主要用来完成对类成员属性进行初始化,子类中的属性包含从父类继承下来的属性和自己新添加的属性属性初始化的顺序规定为:先初始化从父类中继承的属性,再初始化子类新添加属性。格式:constructor(){super(父类构造器参数);//调用父类构造器其它;//对本类属性进行初始化或其它处理代码}编程实践例4-3实战演习:按照习题1、2修改PlainRect类子类对父类属性的隐藏例题4_4如果子类声明了一个与父类的成员变量同名的成
2、员变量,则称父类的该成员变量被隐藏(hiding)下面代码段的输出结果是?classA{protectedintx=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是代
3、表父类的一个对象,可以通过super.属性的形式来引用父类的属性;使用this与super可以解决父类属性被隐藏的情况;如果在方法内部也有与类成员属性同名的变量,可以这样来区分它们(以变量名为x为例):x:代表方法的局部变量this.x:代表本类的成员属性值super.x:代表从父类继承下来的但被隐藏的x值子类对父类方法的覆盖如果子类声明了一个与父类的成员方法同名的成员方法,则称父类的该成员方法被重写或覆盖(overriding)方法覆盖是Java实现多态性机制的另一种方式。出现方法覆盖时,同样可通过this和super来区分是父类方法还是子类方法。方法覆盖规则:1.方法名、参数个数、对应
4、参数类型一样,也称为方法签名一样;2.返回值类型一样;3.子类方法的访问控制较父类方法访问控制修饰更松;实战演习调试p81页中的类Car5编写Car5的测试程序(p82)习题3、4
此文档下载收益归作者所有