撰写一个abstract class,不具备任何函数,自此衍生出一个class,并为它加上一个函数.撰写某个static函数,使其接受一个"指向base class"的reference,并将它向下转型为derived class,然后调用前述那个函数.请在main()中验证这是可行的.(p247)

解决方案 »

  1.   

    //AbstractCard.java
    package test;public abstract class AbstractCard {
    }
    //Card.java
    package test;public class Card extends AbstractCard {
    public void showCard() {
    System.out.println("I am a Card, not AbstractCard");
    }
    }
    //Demo.java
    package test;public class Demo {
    public static void test(AbstractCard card) {
    ((Card)card).showCard();
    }
    public static void main(String[] args) {
    test(new Card());
    }
    }