[英]How do I print method of interface
How can I print connect method of interface? 如何打印接口的连接方法? I'd like to modify the mains only by minimizing the class modification. 我只想通过最小化类修改来修改电源。
if i use arr[0].connect(); 如果我使用arr [0] .connect(); Error : The method connect() is undefined for the type Device 错误:未为设备类型定义方法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");
}
}
It's a printer. 这是打印机。 :USB connect with printer USB memory :USB connect with usb memory :USB与打印机USB存储器连接:USB与USB存储器连接
Device
needs to implement Connectable
. 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.