首页 > 其他 > 详细

匿名实现类与匿名对象

时间:2020-12-24 00:56:35      阅读:32      评论:0      收藏:0      [点我收藏+]

Java的匿名实现类与匿名对象的代码

  • 代码如下
package interface_test;

public class UsbTest {
	public static void main(String[] args) {
		Computer computer = new Computer();
		//1.创建了接口的非匿名实现类的非匿名对象
		Flash flash = new Flash();
		computer.transferDate(flash);//Usb usb = new Flash();体现接口多态性
		
		//2.创建接口的非匿名实现类的匿名对象
		computer.transferDate(new Printer());
		
		//3.创建了接口的匿名实现类的非匿名对象
		Usb phone = new Usb() {

			@Override
			public void start() {
				// TODO Auto-generated method stub
				System.out.println("手机里面开始工作");
			}

			@Override
			public void stop() {
				// TODO Auto-generated method stub
				System.out.println("手机停止工作");
			}
			
		};
		computer.transferDate(phone);
		
		//4.创建了接口的匿名实现类的匿名对象
		computer.transferDate(new Usb() {

			@Override
			public void start() {
				// TODO Auto-generated method stub
				System.out.println("fax开始工作");
			}

			@Override
			public void stop() {
				// TODO Auto-generated method stub
				System.out.println("fax停止工作");
			}
			
		});
	}
}

class Computer{
	
	public void transferDate(Usb usb) {
		usb.start();
		System.out.println("中间细节省略");
		usb.stop();
	}
}

interface Usb{
	void start();
	void stop();
}

interface A{
	
}
class Flash extends B implements Usb,A{

	@Override
	public void start() {
		// TODO Auto-generated method stub
		System.out.println("U盘开始工作");
	}

	@Override
	public void stop() {
		// TODO Auto-generated method stub
		System.out.println("U盘结束工作");
	}
	
}

class Printer implements Usb{

	@Override
	public void start() {
		// TODO Auto-generated method stub
		System.out.println("打印机开始打印");
	}

	@Override
	public void stop() {
		// TODO Auto-generated method stub
		System.out.println("打印机结束打印");
	}
	
}
class B{
	
}

匿名实现类与匿名对象

原文:https://www.cnblogs.com/nxnxxn/p/14181683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!