网站大量收购独家精品文档,联系QQ:2885784924

华北电力大学教学用-03-面向对象技术试卷.ppt

华北电力大学教学用-03-面向对象技术试卷.ppt

  1. 1、本文档共179页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * 指代调用这个方法的当前对象 * * 指代调用这个方法的当前对象 * * NCEPU 最终类与抽象类 1. 最终类 是指不能被继承的类,即最终类不能有它的子类。 格式: final class 最终类名 {……} 例如: final class C1 class C2 extends C1 ? 非法,不能为最终类的子类 NCEPU 最终方法 也可以用final修饰最终方法,即不能被覆盖的方法。格式为: final 返回类型方法名(参数表){…} 用final修饰的变量(简单类型)为常量,企图在程序中改变常量的值会引起编译错误。 final void m3() NCEPU 最终类 要说明的是: 若将一个对象(引用类型变量)标记成final,则该对象不能再指向其他对象,但它所指向的内容的取值可以改变。 // 出现编译错误 class Car{ int number = 1234; } class FinalVariable { public static void main (String args[ ]) { final Car mycar = new Car ( ) ; mycar.number = 8888; mycar = new Car ( ); } } NCEPU final--小结 final变量的值不能被改变 final的成员变量 final的局部变量 final的方法不能够被重载 final的类不能够被继承 NCEPU final 修饰符 final 类不能被继承 子类不能重写方法 变量只能被赋值一次 NCEPU 抽象类 2.抽象类 在程序设计过程中,有时需要创建某个类代表一些基本行为,并为其定义一些方法,但是又无法或不宜在这个类中就对这些行为加以实现,而希望在其子类中再去实现这些方法。 NCEPU 抽象类 这种定义了方法但是没有定义具体实现的类称为抽象类,只标注了存在而没有实现的成员方法称为抽象方法。Java是用abstract来说明抽象类和抽象方法的。 抽象方法必须被子类的方法覆盖,要注意的是,构造方法不能声明为抽象的。 NCEPU class Animal{ private String name; Animal(String name) {this.name=name;} public void enjoy() {System.out.println(“叫声……”);} // public abstract void enjoy(); } class Dog extends Animal{ private String furColor; Dog(String n,String c) {super(n); furColor =c;} public void enjoy(){ System.out.println(“狗叫声……”); } } class Monkey extends Animal{……} 定义一个抽象类Shape, 目的并不是为了在程序 中创建并操作对象,而 是为了定义几何形状类 体系的通用接口,如: draw()等,这些接口 在Shape类中不需要给出 具体实现,而由它的各 个子类提出自己的实现。 ? abstract class Animal { private String name; Animal(String name) {this.name = name;} public abstract void enjoy(); } NCEPU NCEPU 抽象类 任何包含抽象方法的类必须声明为抽象类,抽象类是不能直接实例化。 例如: abstract class D1 class D2 extends D1 D2 vd2 = new D2 ( ) D1 vd1 = new D1() 注意:一个类不能既是最终类又是抽象类, 即关键字final和abstract不能合用。 另:static和abstract也不能同时存在 ? NCEPU 求若干个圆和矩形的面积之和。 两个类Circle和Rectangle,完成相关参数的计算。 抽象类的应用 class Circle { public float r; //圆的半径 Circle(f

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档