java类的层次结构教学内容

上传人:yulij****0329 文档编号:241886342 上传时间:2022-01-17 格式:PPT 页数:17 大小:360.50KB
返回 下载 相关 举报
java类的层次结构教学内容_第1页
第1页 / 共17页
java类的层次结构教学内容_第2页
第2页 / 共17页
java类的层次结构教学内容_第3页
第3页 / 共17页
java类的层次结构教学内容_第4页
第4页 / 共17页
java类的层次结构教学内容_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《java类的层次结构教学内容》由会员分享,可在线阅读,更多相关《java类的层次结构教学内容(17页珍藏版)》请在金锄头文库上搜索。

1、JavaJava语言程序设计语言程序设计第5章 类的继承5.35.3类之间的层次结构类之间的层次结构引言:v一个子类继承了父类,同时子类还可以是其他类的父类,这样形成了一个类之间的继承关系图。 5.3.1 类的层次结构ObjectBAAAABBAAAAABABAABBBBA图5-4 类的层次结构1、Object类: 类是分层次的,最顶层的是Object类。 在Java语言中,所有类都直接或间接地继承了在Java API中定义的Object类,Object类位于java.lang包中。在一个类定义中,如果没有直接指出其父类,则Java语言默认其父类为Object。例如下面定义了一个类Point:

2、class Point float x; float y;它与下面定义是等价的:class Point extends Object float x; float y;1、Object类:vJava中所有类都是由Object类导出的,因此在Object类中的public方法可以被任何一个Java类继承。这样,程序中的任何一个Java对象都可以调用这些方法。Object类中常用的两个实例方法是:vequals():equals方法等价于=运算符。比较运算符=用来比较两个简单数据类型的值是否相等,或者判断两个对象是否具有相同的引用值。vtoString():方法将返回代表这个对象值的一个字符串。实

3、例:01 class Obj02 int x = 12;03 04 05 class TestObj06 public static void main(String args)07 Obj a = new Obj();08 Obj b = new Obj();09 Obj c = b; /c和b引用内存中相同的对象10 System.out.println(a.toString();11 System.out.println(a);12 System.out.println(a.equals(b);13 c.x = 24;14 System.out.println(b.equals(c);1

4、5 System.out.println(b.x);16 17 3、父类对象和子类对象之间的转换 子类是对父类的具体化,如我们说“狗是一种哺乳动物”,即就是说在哺乳动物这个大类中,狗只是其中的一种哺乳动物,在Java语言中就是说哺乳动物类(Mammal)是狗类(Dog)的父类。 如果反过来说“哺乳动物是一种狗”就不对了,因为马、羊等很多动物都是哺乳动物。定义哺乳动物类:class Mammal定义狗是一种哺乳动物类:class Dog extends Mammalvoid run程序中说明了如下的一个动物类对象的引用: Mammal m;程序中创建了一个狗类的实例: Dog dog1 = ne

5、w Dog();如果有如下的赋值: m = dog1;这就好比说“狗是一种哺乳动物”,因此这种赋值是正确,或者用下面的方式书写: Mammal m = new Dog();子类对象赋给父类对象注意1:子类对象赋给父类对象时进行自动类型转换。注意2:当子类对象赋值给父类对象后,父类对象除了可以引用自身所在类的成员外,还能引用和父类同名的成员变量(父类)和方法(子类)。观察下面的程序的运行结果:class Father int a=1,b=2; void show()System.out.println(a+ +b);class Son extends Father int b=3,c=4; vo

6、id show() System.out.println(a+ +b+ +c);class Exppublic static void main(String args)Father fa=new Father();fa.show();Son s=new Son();s.show();Father fb;fb=s;fb.show();System.out.println(fb.a+ +fb.b);/System.out.println(fb.a+ +fb.b+ +fb.c);System.out.println(s.a+ +s.b+ +s.c); Dog dog2 = new Mammal()

7、; 这就好像说“哺乳动物是狗”,我们知道哺乳动物很多,只能说狗是哺乳动物里的一种,而不能说哺乳动物都是狗。因此,在Java语言中这种赋值是不允许的,如果的确要进行这样的赋值,只能进行强制类型转换: 子类对象=(子类名)父类对象 dog1 = (Dog)m ;父类对象赋给子类对象上机作业:题目:开发一个员工管理系统,员工(Employee)有三个属性:姓名、工号和工资,用继承的方法设计一个经理类。要求设计出对员工进行初始化的构造方法,练习类的继承、方法的覆盖、属性的隐藏,this和super的用法。要求:1、理解题意。2、上机之前在作业本上写出程序。3、记录调试程序时出现的错误,在作业本上说明出错的原因。谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号