Java程序设计类和方法——继承多态抽象类要点解析.ppt

Java程序设计类和方法——继承多态抽象类要点解析.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档