轉(zhuǎn)載于 : http://www.verejava.com/?id=16992804621647

創(chuàng)新互聯(lián)專注于天心企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,電子商務(wù)商城網(wǎng)站建設(shè)。天心網(wǎng)站建設(shè)公司,為天心等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
/**
知識點: 抽象類 abstract
題目: 爸爸叫我買一斤水果和一條魚
思路:
1. 抽象出類:爸爸(Father), 兒子(Son), 水果(Fruit),魚(Fish)
2. 找出類關(guān)系: 兒子繼承爸爸 水果買回來屬于->Father->Son
3. 找出方法: 買(buy) 是爸爸叫兒子買水果,爸爸知識發(fā)出了要求聲明并沒用實現(xiàn)
而真正去實現(xiàn)這個是兒子
*//**
注意:
1. 加了關(guān)鍵字 abstract 的抽象方法不能有方法體實現(xiàn),只能有方法的聲明
2. 當一個類中存在以 abstract 聲明的抽象方法時, 該類必須加上abstract 關(guān)鍵
字表明該類是抽象類
3. 子類如果繼承一個抽象類, 子類必須實現(xiàn)父類所有的抽象方法
4. 抽象類中也可以聲明實現(xiàn)方法,也就是抽象類中可以定義抽象方法,也可以定義
帶方法體的實現(xiàn)方法,而子類不需要復寫抽象父類的具體已經(jīng)實現(xiàn)的方法
5. 抽象類不能直接實例化,必須有其實現(xiàn)的子類間接來實例化
*/public class TestAbstract {
public static void main(String[] args) { //實例化父親
//Father f=new Father();
//實例化兒子
Son s = new Son("李明"); //地攤上有各種水果和魚
Fruit apple = new Fruit("蘋果");
Fruit grape = new Fruit("葡萄");
Fish caoyu = new Fish("草魚");
Fish lianyu = new Fish("鰱魚"); //買水果和魚
s.buy(apple);
s.buy(lianyu); //回家以后高興的告訴爸爸
System.out.println("爸爸,爸爸 我買了一斤:" + s.getFruit().getName() + " 和一條 : " + s.getFish().getName());
}
}abstract class Father {
protected Fruit fruit; protected Fish fish; public Fruit getFruit() { return this.fruit;
} public Fish getFish() { return this.fish;
} //要求聲明要買水果
public abstract void buy(Fruit fruit); //要求聲明要買條魚
public abstract void buy(Fish fish);
}class Son extends Father { private String name; public Son(String name) { super(); this.name = name;
} //兒子實現(xiàn)父親買水果的要求
public void buy(Fruit fruit) { this.fruit = fruit;
} //兒子實現(xiàn)父親買條魚的要求
public void buy(Fish fish) { this.fish = fish;
} public String getName() { return this.name;
}
}class Fruit { private String name; public Fruit(String name) { this.name = name;
} public String getName() { return this.name;
}
}class Fish { private String name; public Fish(String name) { this.name = name;
} public String getName() { return this.name;
}
}
轉(zhuǎn)載于 : http://www.verejava.com/?id=16992804621647
分享題目:Java面向?qū)ο笾橄箢恆bstract
本文鏈接:http://chinadenli.net/article48/gspoep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、用戶體驗、微信小程序、軟件開發(fā)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)