天天看點

java多态舉例_Java中多态舉例說明

這裡我也就大概說一下他們的關系, 接口就是動物,然而每一個類就是一種動物 給貓有兩個功能:叫和睡覺 狗:叫 在f方法裡面可以把貓的功能實作 但不能實作狗的功能 在主方法裡面有一個貓有一個狗 分别調用  這裡一個類可以繼承于多個接口下面 繼承的多個接口用,分開 再舉個例子就是 鳄魚和螞蟻都能爬,但是鳄魚還能進水,而螞蟻不行 鳄魚可以繼承陸地和水 而螞蟻隻能繼承陸地

interface Animal{//接口

void show();

}

class cat implements Animal{//貓是動物的一種,就繼承在他下面

public void show() {

System.out.println("喵喵喵……");

}

public void sleep() {

System.out.println("睡覺……");

}

}

class dog implements Animal{//狗同上

public void show() {

System.out.println("汪汪汪……");

}

}

public class 多态 {

public static void main(String[] args) {

Animal a = new cat ();

a.show();

Animal b = new dog();

b.show();

f(a);

f(b);

}

public static void f(Animal animal) {

if(animal instanceof cat) {//Java自帶方法看an是不是cat的子集

//如果不是cat的子集,就跳過,dog中沒有睡覺一說

cat cat = (cat) animal;

cat.show();

cat.sleep();

}

else {

System.out.println("this animal is not a cat");

}

}

}