- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计 第3章 类和方法——继承与多态、接口 导入 我们在介绍java语言类继承之前,先来探讨一种具有普遍性的问题:一位面向对象的程序员”小A”在编程过程中需要描述和处理个人信息,于是他定义了类Person,其结构如下: Person 类 public class Person{ public String name; public char gender; public int age; public void getDetails(){….} } 一周以后,”小A”又遇到了新的需求—需要描述和处理学生信息,于是他又定义了一个新的类Student: Student 类 public class Student{ public String name; public char gender; public int age; public String major; public void getDetails(){….} } 小A如是做是可行的,但是我们观察Student和Person类可以发现它们的结构很接近 Student类只比Person类多出一个属性major,却要重复定义其他所有的内容,那么有没有一种方法来解决这个问题呢? Java提供了类似问题的机制,那就是类的继承。引入类继承机制简化后的Student类的定义如下: public class Student extends Person{ public String major; } 继承 两个类之间的关系: 1)当一个类拥有另一个类的所有属性和方法时,就称这两个类之间具有继承关系。 2)被继承的类称为超类(superclass)或父类 3)继承了父类的类称为子类(subclass)或派生类。 使用继承的优点是: 1)程序结构清晰 2)降低编码代码 3)减少程序维护工作量 Java类继承的语法规则 Java类继承的语法规则如下: modifierclasssubClassName[extendssuperClassName]{ declarations* } 类的继承举例 class Person{ public String name; public char gender; public int age; public void getDetails(){System.out.print(name:+name+\nage:+age);} } class Student extends Person{ public String major; } public class Test{ public static void main(String[] args){ Student s=new Student(); =Bily; s.age=18; s.getDetails(); } } super关键字 super关键字是当前对象的直接(上一级)父类对象的引用。用于解决如何直接访问从父类继承来的成员的问题。 使用场合: 1)用来访问直接父类隐藏的数据成员,其使用形式:super.数据成员 2)用来调用直接父类中被覆盖的成员方法,其使用形式:super.成员方法(参数) 3)用来调用直接父类的构造方法,其使用形式:super(参数) 成员变量的继承与隐藏 成员变量的继承:子类域可继承父类的所有非私有域 成员变量的隐藏:子类域可继承自己的父类,还可以自己定义域而将父类同名域隐藏。 成员变量的继承与隐藏举例 class Example1{ int x; void set(int a){x=a;} void print(){System.out.println(x=+x);} } class Example11 extends Example1{ int x; void newset(int a){x=a;} void newprint(){System.out.println(x=+x+ +super.x);} } public class Test1{ public static void main(String[] args){ Example11 o=new Example11(); o.set(10);o.newset(100); o.print(); o.newprint(); System.out.println(x=+o.x+ +((Ex
您可能关注的文档
- IT绩效考核体系要点解析.ppt
- IT人力资源规划实例要点解析.ppt
- IT软件开发项目人力资源管理要点解析.ppt
- IT实用技术手册[Vol1]要点解析.ppt
- IT系统营运服务框架协议介绍(SLA介绍)要点解析.ppt
- IT项目管理.要点解析.ppt
- IT项目管理培训课要点解析.ppt
- IT项目管理培训要点解析.ppt
- IT项目管理要点解析.ppt
- IT项目时间管理要点解析.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)