Java 杂谈

interface 接口 {
	public void 接口方法();

}

class 实现类 implements 接口{

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

	}

	
	public void 接口方法() {
		// TODO Auto-generated method stub
		System.out.println("实现类实现接口的方法");
	}

	
	public void 实现类自己的方法(接口 inter) {
		System.out.println("实现类自己的方法");
		inter.接口方法();
	}
}


public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		实现类 tt = new 实现类();
		tt.实现类自己的方法(new 接口() {
			
			@Override
			public void 接口方法() {
				// TODO Auto-generated method stub
				System.out.println("匿名内部类!!!");
			}
			
		});
		
		tt.实现类自己的方法(()->{
			System.out.println("lamdba写法");
		});
		
		tt.实现类自己的方法(new T());
	}

}

class T implements 接口{

	@Override
	public void 接口方法() {
		// TODO Auto-generated method stub
		System.out.println("嗯");
	}
	
}

  • 接口方法的触发是显式的​:必须通过代码 inter.接口方法() 主动调用。
  • Lambda/匿名内部类只是实现​:它们定义了接口方法的具体逻辑,但需要被调用才会执行。
     

    当按钮被点击时,Java Swing 的事件分发线程(EDT)会自动检测到这个事件,并且调用 ActionListener 中的 actionPerformed 方法,这样 actionPerformed 方法里的代码就会执行。

    假设 Java Swing 没有事件处理机制

    要是 Java Swing 没有这个事件处理机制,那么即使你给按钮添加了 ActionListener,当按钮被点击时,actionPerformed 方法也不会自动执行,就像你之前代码里 接口方法 不会自动执行一样,你得手动去调用相应的方法才能触发对应的逻辑。

     

    综上所述,Java Swing 的事件处理机制是其能自动处理用户交互事件的关键,没有这个机制,就需要手动控制事件的响应,和你之前普通 Java 代码的处理方式一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值