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