本帖最后由 杜正华 于 2012-10-18 10:59 编辑
- package com.itcast.practise;
- public class Demo8 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
-
- Father f = new Sun();
- f.speak();
- f.smoke();
- //f.play(); 为什么不可以?
- Sun s = (Sun)f;
- s.speak();
- s.smoke();
- s.play();
- }
- }
- class Father{
- void speak(){
- System.out.println("父亲说话方法...");
- }
- void smoke(){
- System.out.println("父亲抽烟方法...");
- }
- }
- class Sun extends Father{
- void speak(){
- System.out.println("儿子说话方法...");
- }
- void play(){
- System.out.println("儿子玩的方法...");
- }
- }
复制代码 既然f指向new Sun()的引用,那么为什么f.play()不可以?很疑惑...请画出上述代码在内存中的表现图 |