- 1
- 0
- 约2.37万字
- 约 76页
- 2017-06-08 发布于广东
- 举报
java4对类的进一步讨论
其实,进行这样转换的唯一原因是:因为某些原因,该子类对象在 创建时就被一个父类引用所引用。 例如, Employee E1= (Employee)new Manager(); (也许,你这是为了首先能对经理完成某些与一般职员相同的处理。) 然而,现在需要重新将它转换成子类对象,如, if(E1 instanceof Manager) boss=(Manager)E1; (也许,你此时又想要对经理进行一些特殊的处理了!) 一般来说,你应该尽量少用这种转换。 5.3.3 对象作为方法参数时可用其子类对象作为参数。 例5-5 子类对象作为参数示例 class side//定义父类side { void disp(){ System.out.println(“平面图形”); } } class spot extends side //定义side的子类spot { private int x,y; spot(int u,int v){ x=u; y=v; } void disp(){ System.out.println(”点坐标:”+x+”,”+y); } } class line extends side//定义side的子类line {private int x1,y1, x2,y2; line(int u1, int v1, int u2, int v2 ){ x1=u1; y1=v1; x2=u2; y2=v2; } void disp(){ System.out.println(”起点坐标:”+x1+”,”+y1); System.out.println(”终点坐标:”+x2+”,”+y2); } } class ex_503 { static void show(side s){ s.disp(); } 运行结果: 点坐标:2,3 起点坐标:1,2 终点坐标:3,4 虽然,方法show要求的形参为side的对象引用,但实际调用时的实参都是其子类对象。这就意味着形参s实际引用的是其子类对象(如,sp、ln)。 因此,在运行时,方法show中的s.disp()实际调用的是sp.disp()和ln .disp()。 public static void main(String[] args) { sopt sp=new sopt(2,3); show(sp); line ln=new line(1,2,3,4); show(ln); } } 5.4 抽象类 5.4.1 抽象方法 所谓抽象方法是指:一个只有方法头而无方法体的方法。 即,只有访问权限、返回类型、方法名及参数列表,但无方法体。 JAVA规定:一个抽象方法前必须冠以关键字abstract。 如下两个方法均被声明为抽象方法: public abstract void show(); abstract int area(int a,int b); 注意:构造方法、静态方法、私有方法不能声明为抽象方法。 5.4.2 抽象类 抽象类是指:一个包含抽象方法的类。 JAVA规定:一个抽象类前必须冠以关键字abstract。如下两个类均被 声明为抽象类: public abstract class Person{ //必须包含抽象方法 } abstract class Side{ //必须包含抽象方法 } 关于抽象类的几点规定: (1)抽象类不允许被实例化。即,不能创建其对象。 换句话说,抽象类只能作为父类用于派生子类! (2)当子类继承抽象类时,若没有实现父类中的所有抽象方法,那么,这 个子类仍是一个抽象类。 (3)子类实现抽象方法时,不能改变其返回类型以及参数列表。 下面我们就先通过一个程序例子来了解抽象类的用法和作用。 由于雇员是一个人,学生是一个人。因此,你可以建立一个关于人、 雇员和学生的继承层次图。如下图所示: Person Student Employee 其中,类Person应该作为父类,而Employee、Student则为其子类。 这是因为,类Person显然更通用、更抽象,而类Employe
您可能关注的文档
- =除防冰学习.ppt
- cet-4应用文写作.ppt
- ch-4客户组合分析.ppt
- bei面试技巧天津.ppt
- ccar61部咨询通告培训.ppt
- chr-第一课人力资源管理的作用.ppt
- ch07招聘面谈.ppt
- d08简报计划总结.ppt
- gb4793-2007学习资料完整版.ppt
- cdc的管理及管理学简介.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)