最近想要找工作,看了些招聘的笔试题.其中一个就是用多态方式表现猫咬狗咬的.

 

于是写了一个简单的例子,但觉得对这个概念的理解还不是特别深入,希望大家斧正

 

我创建了一个Animal接口 :

 

public interface Animal
{

    public void bite();

}

 

又建立了一个Polymorphizm类

 

public class Polymorphizm
{
    public static void main(String... args)
    {

        Cat cat = new Cat();
        Dog dog = new Dog();

        cat.bite();
        dog.bite();

    }

}


class Cat implements Animal
{
    public Cat()
    {
        System.out.println("miao");
    }


    public void bite()
    {
        System.out.println("MiaoMiao Bitten");
    }
}


class Dog implements Animal
{
    public Dog()
    {
        System.out.println("wangwang");
    }


    public void bite()
    {
        System.out.println("WangWang Bitten");
    }

}

 这是上午写的,不过怎么感觉和外面看到的例子都不一样呢,别的都是参数不同而输出不同,或者是A继承B了,A覆盖了B的方法导致输出不同,开始怀疑自己这个是不是多态了.......再写一个看看.....

 

重写为如下 :

 

public class Animal
{
    public void bite()
    {

    }


    public static void main(String... args)
    {
        Animal A = new Cat();
        Animal B = new Dog();

        A.bite();
        B.bite();
    }

}


class Cat extends Animal
{
    public void bite()
    {
        System.out.println("MiaoMiao is bitting");
    }
}


class Dog extends Animal
{
    public void bite()
    {
        System.out.println("WangWang is bitting");
    }
}

貌似刚开始的想法是有问题的......