文档详情

Ch5_1继承、接口与范型.ppt

发布:2017-06-23约1.08万字共25页下载文档
文本预览下载声明
与P90的Example5_9示例分析效果相同 * * 1.另外声明final方法有时还会提供一种性能方面的 增强;当调用一个很小的final方法时,会按inline方法来处理 它,从而消除了与方法调用相关联的昂贵代价 . 2. 正常的情况下,java中的成员方法的调用都属于动 态绑定(晚绑定或者运行时绑定),但是因为final方法不能被覆 盖,所以对它的调用可以在编译时解决,属于静态绑定(早绑定或 编译时绑定) 抽象类有如下特点: 抽象类中可以有抽象方法,也可以由非抽象方法; 抽象类不能用new操作符创建对象; 做上转型对象。 * 第 章 继承、接口与泛型 内容提要: 类的继承机制 接口技术 泛型类 class A{ } class A extends Object{ } Class Students extends People{ } 5.1 类的继承机制 继承是面向对象编程的核心内容之一,它允许我们创 建分层次的类,在java语言中, java.lang包中定义的 Object类是java里所有类的超类。 5.1.1 子类创建和继承机制 class Animal{ float weight; void eat(){……} ……… } class Mammal extends Animal{ int heartRate; //继承weight ……… void breathe(){……} //继承eat() } Notice: java只允许类实现单继承(single inheritance),但接口(interface)可以实现多继承完成的功能 C A B B A C 子类可以进一步创建子类: class Cat extends Mammal{ boolean longHair; //继承weight 和heartRate …… void purr(){……} //继承eat()和breathe() } Cat Animal Mammal Notice1: 子类不能访问超类中的私有成员 Notice2: 继承实现的是is-a的关系 Notice3: 超类的引用变量可以引用从其派生得到的 任何子类的对象,如: Cat simon =new Cat(); Animal creature = simon; Notice4:当一个子类对象的引用simon被赋给一个超类引用 变量 creature时,则通过creature变量仅可访问由超类定义的那 部分,如: creature.eat(); //work well creature.breath(); // ? defined in class Cat creature.purr(); //? defined in class Mammal super关键字 ① super关键字存在的原因 ② 使用super来调用最近超类的构造方法 ,如: class Animal { ……… int weight; public Animal(int weight) { this.weight= weight; } } class Mammal extends Animal{ int heartRate; //继承weight public Mammal(int heartRate,int weight){ super(weight); this.heartRate=heartRate; }
显示全部
相似文档