本文共 1112 字,大约阅读时间需要 3 分钟。
oop_day04_继承、重写_20150812
1.继承:
1)作用: 代码的重用
2)通过extends实现继承
3)父类/基类:所有子类所共有的变量和方法
子类/派生类:子类所特有的变量的方法
4)当子类继承父类后,子类具有:
------子类所特有的+父类所共有的
5)一个类只能继承一个父类----单一继承
一个父类可以有多个子类
6)继承具有传递性
7)java规定: 构造子类之前必须先构造父类
子类构造方法的第一句默认有个super()调父类的无参构造
若自己通过super调用父类构造的话,则不再默认提供
super调用父类构造,必须位于子类构造的第1句
2.super:指代当前对象的父类对象
用法:
1)super.成员变量名------访问父类的成员变量
2)super.方法名()-----------调用父类的方法
3)super()---------------------调用父类的构造方法
代码示意:
class Coo{ int a; Coo(int a){ }}class Doo extends Coo{ //什么都不写,报错 /* //默认代码 Doo(){ super(); } */ //解决 Doo(){ super(1); } }
3.向上造型:
1)父类型的引用指向子类的对象
2)能点出来什么,看引用的类型
4.方法的重写(override):
1)发生在父子类中,方法名相同,参数列表相同,方法体不同
2)重写方法被调用时,看对象的类型
代码示意:
package oo.day04;public class OverrideDemo { public static void main(String[] args) { OAoo o1 = new OBoo(); //向上造型,父类引用指向子类对象 OAoo o2 = new OCoo(); test(o1); test(o2); } public static void test(OAoo oo){ oo.show(); }}class OAoo{ void show(){ System.out.println("Aoo-show()"); }}class OBoo extends OAoo { void show(){ System.out.println("Boo-show()"); }}class OCoo extends OAoo { void show(){ System.out.println("Coo-show()"); }}
总结:java的三大特性之一:继承
转载地址:http://eeews.baihongyu.com/