




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
了解了继承的基本概念后,下面对继承操作中的一些注意点进行研究。一 子类对象的实例化过程在继承的操作中,对于子类对象实例化也是有要求的,及子类对象在实例化之前必须首先调用父类中的构造方法后在调用自己的构造方法。【子类的实例化过程】class Personprivate String name;private int age;public Person()System.out.println(这是父类中的构造方法);public String getName()return name;public void setName(String name)=name;public int getAge()return age;public void setAge(int age)this.age=age;class Student extends Personprivate String school;public Student()System.out.println(这是子类中的构造方法);public void setSchool(String school)this.school=school;public String getSchool()return school;public class ExtDemo2public static void main(String args)Student stu=new Student();stu.setName(张三);stu.setAge(19);stu.setSchool(ZZU);System.out.println(姓名:+stu.getName()+,年龄:+stu.getAge()+,学校:+stu.getSchool();运行结果为:从运行结果可以清楚的发现,子类对象在实例化前会默认调用父类中的构造方法。就好像没有父类就没有孩子。当然对于以上代码实际上在子类的构造方法中隐含了一个super()的语法,代码如下:class Student extends Personprivate String school;public Student()super();System.out.println(这是子类中的构造方法);public void setSchool(String school)this.school=school;public String getSchool()return school;以上程序的运行结果与之前是一样的。super表示超级的意思,在一些书中也喜欢把父类叫做超类,上面的语法就是表示子类可以直接使用super()调用父类(超类)中的无参构造。二 方法的覆写在继承的关系中也存在着方法覆写的概念,所谓的方法覆写就是子类定义了与父类中名称相同的方法,但是在覆写时必须考虑到权限,即被子类覆写的方法不能拥有比父类方法更严格的访问权限。【方法的覆写】class Personvoid print()System.out.println(Person-void print();class Student extends Personpublic void print()System.out.println(Student-void print();public class OverrideDemo01public static void main(String args)new Student().print();运行结果为:从程序的运行结果可以发现,Student子类定义了与Person父类中同名的方法,但是在子类中此方法的访问权限被扩大了,符合覆写的概念,当方法被覆写后,子类对象调用的就是被覆写后的方法。需要注意的是,在被子类覆写的方法权限缩小时,会在编译时产生错误。实际上与方法的覆写概念相同的还有另外一种称为属性的覆盖,这点在开发中使用较少。【属性的覆盖】class Personpublic String info=ZZU;class Student extends Personpublic String info=zhao;public void print()System.out.println(父类中的属性:+);System.out.println(子类中的属性:+);public class OverrideDemo05public static void main(String args)new Student().print();运行结果为:以上程序只作为参考使用,读者只需要了解到,如果父类和子类声明了同样名称的属性,则在子类中直接访问时一定是采用“就近原则”,即先找到本类中的属性,如果此时要调用父类中的属性,直接使用super.属性 格式进行调用。可以发现方法的重载和覆写十分相似,下面进行对比:重载:(Overloading)定义:方法名称相同,参数的个数和类型不同,对权限没有要求。发生在一个类中。覆写:(Overriding)定义:方法名称相同,参数的类型、返回值类型完全相同,被覆写的方法不能拥有更严格的权限,发生在继承类中。三 super关键字的作用在上面的程序中一直有super关键字,使用super关键字可以从子类中调用父类中的构造方法、普通方法和属性。之前演示了调用普通方法和属性的的基本操作,下面使用super调用父类中指定的构造方法,与this调用构造方法的要求相同,语句必须放在子类构造方法的首行。【使用super调用父类中指定的构造方法】class Personprivate String name;private int age;public Person()this.setName(name);this.setAge(age);public void setName(String name) = name;public void setAge(int age)this.age = age ;public String getName()return ;public int getAge()return this.age ;public String getInfo()return 姓名: + this.getName() + ;年龄: + this.getAge() ;class Student extends Person/ 定义Student类private String school ;/ 定义school属性public Student(String name,int age,String school)super(name,age) ;/ 明确调用父类中有两个参数的构造this.school = school ;public void setSchool(String school)this.school = school ;public String getSchool()return this.school ;public String getInfo()return super.getInfo() + ;学校: + this.getSchool() ; ;public class SuperDemo01public static void main(String arsg)Student stu = new Student(张三,30,清华大学);/ 实例化子类对象System.out.println(stu.getInfo() ;运行结果:姓名:张三;年龄:30;学校:清华大学在以上程序中使用了super()的形式调用了父类中的构造方法,在子类中又覆写了父类中的getInfo()方法,所以输出的内容是子类中定义的内容。可以发现super和this关键字有相似之处,那么对比如下:super:访问父类中的属性,直接访问父类中的方法,调用父类构造,必须放在子类构造方法的首行。this:访问本类中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州省民族研究院第十三届贵州人才博览会引进人才1人模拟试卷有完整答案详解
- 2025广东广州市中级人民法院招聘劳动合同制审判辅助人员考前自测高频考点模拟试题参考答案详解
- 2025年冀北博望电力产业管理(北京)有限公司高校毕业生招聘(第三批)考前自测高频考点模拟试题附答案详解(完整版)
- 2025年冀北博望电力产业管理(北京)有限公司高校毕业生招聘(第三批)模拟试卷及答案详解(有一套)
- 2025年温州永嘉县茗岙乡卫生院招聘劳务派遣人员1人模拟试卷有完整答案详解
- 2025年西安凤城医院招聘(21人)考前自测高频考点模拟试题及一套参考答案详解
- 易制毒安全教育培训课件
- 2025云南昆明地铁运营有限公司招聘笔试题库历年考点版附带答案详解
- 2025中国铁建投资集团有限公司海外人才公开招聘8人笔试题库历年考点版附带答案详解
- 美国旅游线路介绍
- 高三运动会课件
- 法语幼儿教学课件1
- 钩针课件教学课件
- 淮阳豆门乡消防安全培训课件
- 海上风电场安全培训课件
- 2025版CSCO非小细胞肺癌诊疗指南解读
- 红星照耀中国第九章课件
- GB/T 13090-2025饲料中六六六、滴滴涕的测定
- (2025)学法用法考试题及答案
- 青少年毒品预防教育-初中版
- 整改技术服务报价单
评论
0/150
提交评论