5.1子类与父类5.2子类的继承性5.3子类与对象5.4成员变量的隐藏和.ppt

5.1子类与父类5.2子类的继承性5.3子类与对象5.4成员变量的隐藏和.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1子类与父类5.2子类的继承性5.3子类与对象5.4成员变量的隐藏和.ppt

Java语言概述 5.1 子类与父类 5.2 子类的继承性 5.3 子类与对象 5.4 成员变量的隐藏和方法重写 5.5 super关键字 5.6 final关键字 5.7对象的上转型对象 5.8 继承与多态 5.9 abstract类与abstract方法 5.10 面向抽象编成 5.1 子类与父类 继承是一种面向对象程序设计的基本特征之一、是实现代码重用的方式。继承是由已有的类创建新类的机制。 利用继承,我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。 由继承而得到的类称为子类,被继承的类称为父类(超类)。Java不支持多重继承(子类只能有一个父类)。 5.1.1 子类 在类的声明中,通过使用关键字extends来创建一个类的子类,格式如下: class 子类名 extends 父类名 {… } 例如: class Students extends People {… } 5.1.2 类的树形结构 Java的类按照继承关系形成树形结构,在这个树形结构中,根节点是object类(包含在java.lang包中),即它是祖先类。任何类都是Object类的子孙类,每个类(除了object类)其余的类有且仅有一个父类,一个类可以有多个或者0个子类。如果一个类没有使用extends关键字(除了object类),这个类被系统默认为object的子类。 5.2 子类的继承性 类的属性和方法。子类的属性和方法可以自己声明定义,但一部分是从父类继承的。 继承规则: 如果子类和父类在同一个包中,那么,子类继承父类中不是private的成员变量和方法。例1 如果子类和父类不在同一个包中,那么,子类继承了父类的protected、public的属性和方法。这里子类不能继承父类的友好属性和方法。 属性和方法的继承和接连传递下去; 5.3 子类与对象 子类对象的特点: 子类的构造方法创建一个子类对象时,不仅子类中声明的成员变量被分配内存空间而且父类的成员变量也都分配了内存空间,但是子类只能访问父类中允许访问的成员变量。 见书P116。 关于instanceof运算符: Instanceof 运算符是java独有的双目运算符,左边的操作元是对象,右面的操作元时类。当左面的操作元是右面的类的对象时,结果返回true,否则返回false Zhang instanceof People 5.4 成员变量的隐藏和方法的重写 如果子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量。 如果子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,则子类隐藏了父类的方法。 例2 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类重写的方法,如果子类继承了父类的方法(未重写),那么子类创建的对象也可以调用这个方法,只不过方法产生的行为和父类的相同而已。 例3 注意:重写父类方法时,不可以降低方法的访问权限。P121 5.5 super关键字 如果在子类中要使用隐藏的属性和方法,使用关键字super super的使用场合 使用super调用父类的构造方法:子类不继承父类的构造方法,如果在子类的构造方法调用父类的构造方法,使用super,而且super必须是子类构造方法中的头一条语句。 例4。如果没有调用则子类自动调用父类的无参构造方法。即默认有super(); 操作隐藏的属性和方法;例5。 5.6 final关键字 Final关键字可以修饰类、属性和方法,例6 修饰类时,该类不能被继承,即不能有子类。称最终类; 修饰方法时,则这个方法不能被重写; 修饰属性(成员变量)时,不能改写,就是常量,常量必须赋给初值,而且不能再发生变化; 如果方法的参数被修饰为final的,该参数的值不能被改变。 5.7 对象的上转型对象 假设B类是A类子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时: A a; B b=new B(); a=b; 称这个A类对象:a,是子类对象b的上转型对象. 上转型对象:即父类的变量可以引用子类的对象 对象的上转型对象的实体是子类负责创建的,但根据父类的规则使用。上转型对象会失去原子类对象的一些属性和功能。 使用规则: 不能操作子类新增的属性和方法(失掉了) 上转型对象可以操作子类继承或隐藏成员变量,也可以使用子类继承的或重写的方法 可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类所有属性和功能。 例7 5.8 继承与多态 多态性就是指父类的某个方法被其子

文档评论(0)

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

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

1亿VIP精品文档

相关文档