Java程序设计基础-第6章类的继承、抽象类、接口.ppt

Java程序设计基础-第6章类的继承、抽象类、接口.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类的继承 理解继承是理解面向对象程序设计的关键。 在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。 在Java中,不允许多继承。 6.1 类的继承 通过继承可以实现代码的复用。 父类或超类(superclass) 被继承的类 子类(subclass) 由继承而得到的类 一个父类可以同时拥有多个子类,但由于Java中不支持多重继承,所以一个类只能有一个直接父类。 在Java语言中有一个称为java.lang.Object的特殊类,所有的类都是直接或间接地继承该类而得到的。 格式: class SubClass extends SuperClass { …… } 把SubClass声明为类SuperClass的直接子类,如果SuperClass又是某个类的子类,则SubClass同时也是该类的间接子类。 如果没有extends关键字,则该类默认为java.lang.Object类的子类。因此,在Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。所以在此之前的所有例子均是java.lang.Object类的子类。 1.子类的构建方法【例6.1】类的继承 说明: (1)通过extends关键字,可将父类的成员继承给子类。 (2)Java在执行子类的构造方法之前,会先自动调用父类中没有参数的构造方法,其目的是为了帮助继承自父类的成员做初始化的操作。 (3)在严格意义上说,构造方法是不能被继承的,例如父Person有一个构造方法Person(String,int),不能说子类Student也自动有一个构造方法Person(String,int),但这并不意味着子类不能调用父类的构造方法。 2.调用父类中特定的构造方法 6.1.2 在子类中访问父类的成员 格式: super.变量名 super.方法名 6.1.3 覆盖 覆盖(Overriding) 是指在子类中定义名称、参数个数与类型均与父类相同的方法,用以重写父类里同名方法的功能。 1.覆盖父类的方法 子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明,即应与父类有完全相同的方法名、返回值和参数类型列表。 例 6.4 以个人类Person为父类,创建学生子类Student,并用子类方法覆盖父类方法。 //app6_4.java 方法的覆盖 class Person //定义Person { protected String name; protected int age; public Person(String name, int age) //定义构造方法 { this.name=name; this.age=age; } public void show() { System.out.println(“姓名:“+name+” 年龄:”+age); } } class Student extends Person //定义子类Student,其父类为Person { private String department; public Student (String name,int age,String dep) //定义构造方法 { super(name,age); department=dep; } public void show() //覆盖父类Person中的的同名方法 { System.out.println(“系别:”+ department); } } public class app6_4 { public static void main(String args[ ]) { Student stu=new Student(“王老五”,24,”电子”); stu.show(); } } 2.用父类的变量访问子类的成员 通过父类对象也可以访问子类成员。 6.1.4 不可被继承的成员与最终类 如果父类的成员不希望被子类的成员所覆盖可以将它们声明为final。如果用final来修饰成员变量,则说明该成员变量是最终变量,即常量,程序中的其他部分可以访问,但不能修改。 6.1.5 Object类 6.2 抽象类 6.2.1 抽象类与抽象方法 6.2.2 抽象类的应用 6.3 接口 接口(Interface)是Java所提供的另一种重要功能,它的结构与抽象类非常相似。接口本身也具有数据成员与抽象方法。 6.3.1 接口的定义 接口定义的语法格式如下: [public] interf

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档