java类的层次结构.ppt

上传人:牧羊曲112 文档编号:5436184 上传时间:2023-07-06 格式:PPT 页数:17 大小:293.99KB
返回 下载 相关 举报
java类的层次结构.ppt_第1页
第1页 / 共17页
java类的层次结构.ppt_第2页
第2页 / 共17页
java类的层次结构.ppt_第3页
第3页 / 共17页
java类的层次结构.ppt_第4页
第4页 / 共17页
java类的层次结构.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《java类的层次结构.ppt》由会员分享,可在线阅读,更多相关《java类的层次结构.ppt(17页珍藏版)》请在三一办公上搜索。

1、Java语言程序设计,第5章类的继承,5.3类之间的层次结构,引言:,一个子类继承了父类,同时子类还可以是其他类的父类,这样形成了一个类之间的继承关系图。,5.3.1 类的层次结构图,类A如果有两个子类AA和AB,类AA如果有一个子类AAA,类AB如果有一个子类ABA,它们之间的关系构成图5-4左边的部分,类似地由B类和其子类构成了图5-4中间的部分,还可能有其他类也构成了类似的关系。,5.3.1 类的层次结构,1、Object类:,类是分层次的,最顶层的是Object类。在Java语言中,所有类都直接或间接地继承了在Java API中定义的Object类,Object类位于java.lang

2、包中。在一个类定义中,如果没有直接指出其父类,则Java语言默认其父类为Object。,例如下面定义了一个类Point:class Point float x;float y;它与下面定义是等价的:class Point extends Object float x;float y;,1、Object类:,Java中所有类都是由Object类导出的,因此在Object类中的public方法可以被任何一个Java类继承。这样,程序中的任何一个Java对象都可以调用这些方法。Object类中常用的两个实例方法是:equals():equals方法等价于=运算符。比较运算符=用来比较两个简单数据类型

3、的值是否相等,或者判断两个对象是否具有相同的引用值。toString():方法将返回代表这个对象值的一个字符串。,实例:,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(

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

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

6、class Son extends Father int b=3,c=4;void 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)

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号