父类:
packagecom.neusoft.chapter07;public classFather {public int i = 1;public voidsay(){
System.out.println("我是杜江");
}
}
子类:
packagecom.neusoft.chapter07;public class Son extendsFather{public int i = 2;public voidsay(){
System.out.println("我是嗯哼");
}
}
1、父类指向父类:
packagecom.neusoft.chapter07;public classTest {public static voidmain(String[] args) {
Father f= newFather();
System.out.println(f.i);
f.say();
}
}
结果:
1
我是杜江
-----------------------------------------------------------------------------
2、子类指向子类:
packagecom.neusoft.chapter07;public classTest {public static voidmain(String[] args) {
Son s= newSon();
System.out.println(s.i);
s.say();
}
}
结果:
2
我是嗯哼
------------------------------------------------------------------------------
3、父类指向子类-----(上溯造型)
packagecom.neusoft.chapter07;public classTest {public static voidmain(String[] args) {
Father f= newSon();
System.out.println(f.i);
f.say();
}
}
结果:
1
我是嗯哼
-----------------------------------------------------------------------------
4、父类转子类-----(下塑造型)
packagecom.neusoft.chapter07;public classTest {public static voidmain(String[] args) {
Father f= newSon();
Son s=(Son)f;
System.out.println(s.i);
s.say();
}
}
结果:
2
我是嗯哼
上溯造型特征:
具有继承或实现关系
父类和子类均有一个成员变量i最后拿到的是父类的i
父类和子类均有一个say方法,最后执行的是子类的方法(say方法重写)
下塑造型:
先上转再向下转