写一个接口USb,此接口有一个work()方法。用Computer实现了它,调用Computer.work()就输出:”我是电脑,我在工作。”分别用Computer、Phone、Printer分别实现USb接口。
下面是我自己写的不知道对不对?
import java.util.Scanner;
interface USB{
public abstract void work();
}
class Phone implements USB{
@Override
public void work() {
// TODO 自动生成的方法存根
System.out.println("我是手机,我正在工作。");
}
}
class Printer implements USB{
@Override
public void work() {
// TODO 自动生成的方法存根
System.out.println("我是打印机,我正在工作。");
}
}
class Computer{
public void useMobile(USB u) {
System.out.println("我是电脑,我正在工作。");
u.work();
}
}
public class Jieko {
public static void main(String[] args) {
Scanner aa=new Scanner(System.in);
System.out.println("");
// TODO 自动生成的方法存根
Phone phone=new Phone();
Printer printer=new Printer();
Computer c=new Computer();
c.useMobile(phone);
c.useMobile(printer);
}
}
Computer 里面的方法的应该和 Phone、Printer 的写的一样才对 然后 c.work() ,phone.work() ,printer.work() 就可以打印 "我是电脑,我正在工作。" ,"我是手机,我正在工作。","我是打印机,我正在工作。"
不是这样理解的吧,Computer、Phone、Printer都实现了USB接口;
work方法调用的时候都是先new一个对象,然后直接调用work方法;
你这样写就是Computer必须要传入Phone、Printer才能使用,你自己多加了自己的理解,题目并不需要,Computer也想Phone一样写就行了