创建接口匿名实现类的对象的四种方法
package InterfactTest;
public class InterfaceTest {
?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?Computer com ?= new Computer();?
?? ??? ?
?? ??? ?com.transferData(new Print()); //創建了非匿名實現類的匿名對象
?? ??? ?
?? ??? ?Flash flash = new Flash(); //創建了非匿名實現類的非匿名對象
?? ??? ?com.transferData(flash);
?? ??? ?
?? ??? ?com.transferData(new USB() {
?? ??? ??? ?@Override
?? ??? ??? ?public void start() {
?? ??? ??? ??? ?System.out.println("手機開始工作");
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?@Override
?? ??? ??? ?public void end() {
?? ??? ??? ??? ?// TODO Auto-generated method stub
?? ??? ??? ??? ?System.out.println("手機結束工作");
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?}); //創建了匿名實現類的匿名對象
?? ??? ?
?? ??? ?
?? ??? ?//創建了匿名實現類的非匿名對象
?? ??? ?USB dataLine = new USB(){
?? ??? ??? ?@Override
?? ??? ??? ?public void start() {
?? ??? ??? ??? ?System.out.println("數據線開始工作");
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?@Override
?? ??? ??? ?public void end() {
?? ??? ??? ??? ?// TODO Auto-generated method stub
?? ??? ??? ??? ?System.out.println("數據線停止工作");
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?};
?? ??? ?com.transferData(dataLine);
?? ??? ?
?? ??? ?
?? ??? ?
?? ??? ?
?? ?}
}
class Computer {
?? ?
?? ?public void transferData(USB usb) {
?? ??? ?usb.start();
?? ??? ?System.out.println("開始傳輸數據");
?? ??? ?usb.end();
?? ?}
?? ?
}
interface USB{
?? ?
?? ?public abstract void start();
?? ?
?? ?public abstract void end();
?? ?
}
class Flash implements USB{
?? ?@Override
?? ?public void start() {
?? ??? ?System.out.println("U盤開始工作");
?? ??? ?
?? ?}
?? ?@Override
?? ?public void end() {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?System.out.println("U盤結束工作");
?? ??? ?
?? ?}
}
class Print implements USB{
?? ?@Override
?? ?public void start() {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?System.out.println("打印機開始工作");
?? ?}
?? ?@Override
?? ?public void end() {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?System.out.println("打印機結束工作");
?? ?}
?? ?
}
總結
以上是生活随笔為你收集整理的创建接口匿名实现类的对象的四种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 删不干净_“我劝你别删前任微信”
- 下一篇: R软件中调用windows字体二