文档详情

类的封装、继承和多态.PPT

发布:2017-04-06约字共55页下载文档
文本预览下载声明
《Java程序设计实用教程(第3版)》 3.3.1 由继承派生类 public class Student extends Person { String speciality; //专业 public static void main(String args[]) { Person p1=new Person(“李小明”,new Mydate(1979,3,15)); Student s1=new Student(); s1.howMany(); System.out.println(“p1:”+p1+“,s1:”+s1); s1.set(“王江”,Mydate(1987,9,1)); System.out.println(s1+“,”+p1.getname()+“比”+ s1.getname()+”大”+p1.olderThen(s1)+”岁”); s1.finalize(); Person.howMany(); } } 《Java程序设计实用教程(第3版)》 3.3.2 继承原则及作用 继承原则 子类继承父类的成员变量 子类继承父类除构造方法以外的成员方法 子类不能继承父类的构造方法 子类可以增加成员,可以重定义从父类继承来的成员,但不能删除它们。 2. 继承的作用 3.3.2 继承原则及作用 《Java程序设计实用教程(第3版)》 3. Object类 public class Object { public Object() //构造方法 public String toString() //描述对象 public boolean equals(Object obj)//比较对象相等 protected void finalize() throws Throwable } Java中的类都是Object的子类 public class Person extends Object 3.3.2 继承原则及作用 《Java程序设计实用教程(第3版)》 4. 子类对父类成员的访问权限 子类不能访问父类的私有成员(private)。 子类能够访问父类的公有成员(public)和保护成员(protected)。 子类对父类的缺省权限成员的访问控制,以包为界分两种情况,可以访问当前包中成员。 3.3.2 继承原则及作用 《Java程序设计实用教程(第3版)》 3.3.3 子类的构造方法 使用super()调用父类构造方法 super([参数列表]) public Student(String name, MyDate birthday, String spec) { super(name, birthday); //调用父类同参数的构造方法 this.speciality = spec; } 默认执行super() public Student() //Java提供的默认构造方法 { super(); //调用父类构造方法Person() } 《Java程序设计实用教程(第3版)》 3.4 类的多态性 3.4.1 子类重定义从父类继承来的成员 3.4.2 类型的多态 3.4.3 编译时多态和运行时多态 3.4.4 多态的方法实现 《Java程序设计实用教程(第3版)》 3.4.1 子类重定义从父类继承来的成员 多态(polymorphism)意为一个名字可具有多种语义。如: +1 1+2 “1”+ “2” 多态性是面向对象的核心特征之一。 主要有方法多态和类型的多态。 《Java程序设计实用教程(第3版)》 3.4.1 子类重定义从父类继承来的成员 子类隐藏父类成员变量 子类覆盖父类成员方法 覆盖(override)是指子类声明并实现父类中 的同名方法并且参数列表也完全相同。 子类继承并重载父类成员方法 重载(overload)是指同一个类中的多个方法可以同名但参数列表必须不同。 【例3.5】 Student类重定义从父类继承来的成员。 this.count super.count p1.toString(); s2.toString(); s1
显示全部
相似文档