給定我有這個類:
class Animal
{
void walk() { }
....
.... //其他方法。
}
與能夠咀嚼的動物的介面相結合:
interface Chewable {
void chew()。
}
讓爬行動物類實作這個功能,而不是鳥類(因為鳥類不能咀嚼) :
class Reptile extends Animal implements Chewable { }
而在鳥類的情況下:
class Bird extends Animal { }
在這里,爬行動物和鳥類都是動物的一個介面。
如果我有一個案例,我必須回圈瀏覽一個動物串列,并呼叫它們的chew()函式,當串列中出現一只鳥時,會發生什么?
uj5u.com熱心網友回復:
類Animal沒有實作Chewable介面,因此如果你有一個Animal型別的串列,其中包含鳥類和爬行動物,它將不會有一個chew()方法。這是因為Animal型別只 "知道 "自己的成員和方法。
uj5u.com熱心網友回復:
如果你回圈瀏覽一個動物的串列(List),你只能呼叫屬于動物的方法。因此,你不能呼叫chew()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/331545.html
標籤:
