java swing学习

4.4 匿名内部类_哔哩哔哩_bilibili,学习资源

复制代码
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ButtonExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("按钮事件监听示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);

        JButton button = new JButton("点击我");
        
        // 添加事件监听器
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("按钮被点击了!");
            }
        });

        frame.getContentPane().add(button);
        frame.setVisible(true);
    }
}

三种类

内部类

成员内部类(Member Inner Class)

成员内部类是最普通的内部类,它可以像外部类的成员变量一样拥有各种访问权限(public, protected, private, 默认)。

复制代码
public class OuterClass {
    private int x = 10;

    public class InnerClass {
        public void print() {
            System.out.println("x = " + x); // 访问外部类的私有成员
        }
    }
}

局部内部类是在一个方法或者作用域内定义的内部类,它只在该方法或作用域内可见。

复制代码
public class OuterClass {
    public void outerMethod() {
        class LocalInnerClass {
            public void print() {
                System.out.println("这是一个局部内部类");
            }
        }
        LocalInnerClass localInner = new LocalInnerClass();
        localInner.print();
    }
}
复制代码
相关推荐
折哥的程序人生 · 物流技术专研2 分钟前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky4 分钟前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
xxie12379413 分钟前
return与print
开发语言·python
秋914 分钟前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
一条泥憨鱼16 分钟前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
云烟成雨TD36 分钟前
Spring AI Alibaba 1.x 系列【78】沙箱(Sandbox)
java·人工智能·spring
程序员二叉41 分钟前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
周航宇JoeZhou1 小时前
JB3-9-SpringAI(二)
java·ai·agent·多智能体·调度·智能体·观察
好家伙VCC1 小时前
Web Components主题热切换方案揭秘
java·前端
慕木沐1 小时前
Google ADK Java 1.0版本 核心机制与实战 Demo
java·开发语言·python