簡體   English   中英

如何打印界面的方法

[英]How do I print method of interface

如何打印接口的連接方法? 我只想通過最小化類修改來修改電源。

如果我使用arr [0] .connect(); 錯誤:未為設備類型定義方法connect()

public class main{

    private static Device arr[];

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        init();
        arr[0].print();
        arr[1].print();

    }

    public static void init() {
        arr = new Device[2];
        arr[0] = new Printer();
        arr[1] = new UsbMem();
    }

}

public interface Connectable {
    public static final String name = ":USB";
    public abstract void connect();
}

public abstract class Device {
    public abstract void print();
}

public class Printer extends Device implements Connectable {

    public void print() {
        System.out.println("It's a printer");
    }

    public void connect() {
        System.out.println(name + "connect with printer");
    }
}

public class UsbMem extends Device implements Connectable {

    public void print() {
        System.out.println("USB memory");
    }

    public void connect() {
        System.out.println(name + "connect with usb memory");
    }
}

這是打印機。 :USB與打印機USB存儲器連接:USB與USB存儲器連接

Device需要實現Connectable

public class Main {

    private static Device arr[];

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        init();
        arr[0].print();
        arr[1].print();
    }

    public static void init() {
        arr = new Device[2];
        arr[0] = new Printer();
        arr[1] = new UsbMem();
    }
}

public interface Connectable {
    public static final String name = ":USB";
    public abstract void connect();
}

public abstract class Device implements Connectable {
    public abstract void print();
}

public class Printer extends Device {

    public void print() {
        System.out.println("It's a printer");
    }

    public void connect() {
        System.out.println(name + "connect with printer");
    }
}

public class UsbMem extends Device {

    public void print() {
        System.out.println("USB memory");
    }

    public void connect() {
        System.out.println(name + "connect with usb memory");
    }
}

將對象投射到可連接對象

((Connectable)arr[0]).connect()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM