最近想要找工作,看了些招聘的笔试题.其中一个就是用多态方式表现猫咬狗咬的.
于是写了一个简单的例子,但觉得对这个概念的理解还不是特别深入,希望大家斧正
我创建了一个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");
}
}
貌似刚开始的想法是有问题的......