使用接口實現多繼承

package com.test.code;

//定義一個Usb接口
interface Usb {
public void work();
}
//電源接口
interface Power extends Usb{
//充電
public void Charging();
}
//手機類
class Phone implements Power{
//如果一個類繼續多個接口(或者存在父接口),必須將所有接口中的方法全部實現
public void work(){
System.out.println("手機已連上Usb接口!");
}
public void Charging(){
System.out.println("手機正在進行充電!");
}
}
//攝像機類
class Camera implements Power{
public void work(){
System.out.println("相機已連上Usb接口!");
}
public void Charging(){
System.out.println("相機正在進行充電!");
}
}
class Disk extends Camera{
/*如果子類繼承的父類實現了某個接口,該子類不用再重複實現這個接口
* 也就是說子類繼承父類的同時,也繼承了父類實現的接口,其實就是通過接口實現了多繼承
*/
//重寫父類的work()方法
public void work(){
System.out.println("U盤已連上Usb接口!");
}
public void Download(){
System.out.println("U盤正在下載數據!");
}
}


public class Test {

/**
* @param args
*/
public static void main(String[] args) {
Power power = new Phone();
power.work();
power.Charging();
Usb usb = new Disk();
usb.work();
//usb.Download(); //error,沒有爲usb類型定義這個方法
((Disk) usb).Download(); //強制轉換爲Power可以實現
}
}
/**** 輸出結果 ***********
手機已連上Usb接口!
手機正在進行充電!
U盤已連上Usb接口!
U盤正在下載數據!
*****************************/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章