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("打印机结束工作");
}
}