Java继承和多态实现例子
生活随笔
收集整理的這篇文章主要介紹了
Java继承和多态实现例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
繼承,多態的簡單例子
我們想做一個類用于存放CD,DVD等光碟,要應用多態和繼承,去除重復性代碼,便于以后維護(添加新的格式光碟,如:MP3,MP4),因此我們首先創建一個工程demo,創建database類用于存放光碟數據,創建光碟類ltem,創建CD類,創建DVD類,CD和DVD共同繼承ltem的屬性和方法(CD、DVD都是光碟),減少重復的屬性編寫,也便于database類的Listltem容器維護(只需維護光碟類即可)。
通過這個例子我們更好的熟悉Java中的繼承和多態特性。
創建database類
package demo;import java.util.ArrayList;public class database {ArrayList<ltem> listltem=new ArrayList<ltem>();//創建ArrayList容器,存儲類型為ltempublic void add(ltem item) {//add方法,傳入ltem類型,listltem.add(item);//添加進入listltem容器中}public void list() {//list方法 負責遍歷容器中所有數據for(ltem item:listltem) {item.print();}}public static void main(String[] args) {database data=new database();//創建database對象data.add(new CD("起風了",3,false,"買辣椒也用券"));//添加ltem類型對象,添加ltem子類對象CD(匿名對象),CD構造器初始化,多態data.add(new CD("流量", 3, false,"半陽"));data.add(new DVD("一出好戲", 125, false,"黃渤"));data.list();}}創建ltem類
package demo;public class ltem {private String title;//標題private int playtime;//播放時間private boolean borrow;//是佛外借 public ltem(String title, int playtime, boolean borrow) {//構造函數初始化變量this.title = title;this.playtime = playtime;this.borrow = borrow;}public void print() {//print方法 輸出數據System.out.print("標題:"+title+" 時間:"+playtime);}}創建CD類
package demo;public class CD extends ltem{//子類CD繼承父類ltemprivate String artist;//藝術家public CD(String title, int playtime, boolean borrow,String artist) {//構造函數初始化super(title, playtime, borrow);//super關鍵字必須放在第一行,調用父類的構造函數,將標題,播放時間,是否外借傳入this.artist=artist;}public void print() {//print方法重寫父類的print System.out.print("CD ");super.print();//super調用父類的print方法System.out.print(" 藝術家:"+artist);//輸出子類獨有的屬性System.out.println();}}創建DVD類
package demo;public class DVD extends ltem{//子類DVD繼承父類ltemprivate String director;//導演public DVD(String title, int playtime, boolean borrow,String director) {//構造函數初始化super(title, playtime, borrow);//super關鍵字必須放在第一行,調用父類的構造函數,將標題,播放時間,是否外借傳入this.director=director;}public void print() {//print方法重寫父類的print System.out.print("DVD ");super.print();//super調用父類的print方法System.out.print(" 導演:"+director);//輸出子類獨有的屬性System.out.println();}}運行結果:
總結
以上是生活随笔為你收集整理的Java继承和多态实现例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端roadmap
- 下一篇: Web3d明日之星基于Javascrip