JAVA与C语言不同 JAVA是一门面向对象的语言,它具有三种特性:
一是封装,二是继承,三是多态;
多态从字面意思理解就是多种形态;
而多态的定义则是:
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
而要满足多态这需要满足三个条件:
要有继承, 要有方法重写 ,父类引用指向子类对象;
下述通过动物叫声简单描写了JAVA多态关系:
public class Animal { //父类
String str;
public void voice() {
System.out.println("普通动物的叫声!");
}
}
class cat extends Animal{ //子类继承父类,同时满足了继承关系
public void voice() {
System.out.println("喵喵喵");
}
}
class dog extends Animal{//子类继承父类,同时满足了继承关系
public void voice() {
System.out.println("汪汪汪");
}
}
class pig extends Animal{//子类继承父类,同时满足了继承关系
public void voice() {
System.out.println("哼哼哼");
}
}
生成一个类:
来满足多态:
public class Test {
public static void test(Animal c) {
c.voice();
}
public static void main(String[] args) {
Animal a = new pig();
test(a);
}
}