匿名内布部类[anonymous inner class]

博客介绍了匿名内部类在编写响应事件时的应用,指出使用匿名内部类时,若用到外部对象,该对象须为final。还提到内部类实现ActionListener接口的示例,以及Non - static inner class和static inner class对enclosing class成员的访问权限差异,static inner class可置于interface里。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名内部类,最常见就是在编写响应事件的时候用到,如果你定义了某个匿名inner class,并且可能会用到定义于匿名内部类之外的对象,则外部对象必须是final。我在编写程序时已经用到了如此规定,现在才知道为什么这么编写:

  //..

JMenuItem dateItem = new JMenuItem("添加");
    menu.add(dateItem);
    SelectData seledate = new SelectData();
    dateItem.addActionListener(seledate);

//...

内部类

public class SelectData
      implements ActionListener {

    public void actionPerformed(ActionEvent e) {
      final JDialog jlog = new JDialog(sframe);
    
    }// action

}

Non-static inner class拥有对enclosing class所有成员的访问权限,static inner class无法访问enclosing class的对象。static inner class 可以置于interface里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值