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();
    }
}
复制代码
相关推荐
一只大袋鼠11 分钟前
MySQL 进阶:聚集函数、分组、约束、多表查询
开发语言·数据库·mysql
m0_488913018 小时前
万字长文带你梳理Llama开源家族:从Llama-1到Llama-3,看这一篇就够了!
人工智能·学习·机器学习·大模型·产品经理·llama·uml
dllxhcjla8 小时前
微服务全套
java
亚历克斯神8 小时前
JVM 内存管理 2026:深度解析与调优实战
java·spring·微服务
以神为界8 小时前
Python入门实操:基础语法+爬虫入门+模块使用全指南
开发语言·网络·爬虫·python·安全·web
数厘9 小时前
2.1SQL 学习:先懂数据库概念再学 SQL
数据库·sql·学习
逻辑驱动的ken9 小时前
Java高频面试题:03
java·开发语言·面试·求职招聘·春招
噜噜大王_9 小时前
深入理解 C 语言内存操作函数:memcpy、memmove、memset、memcmp
c语言·开发语言
YoseZang9 小时前
【机器学习】【手工】Streaming Machine Learning 流数据学习 – 应对变化的机器学习方法(一)
人工智能·学习·机器学习
广师大-Wzx10 小时前
一篇文章看懂MySQL数据库(下)
java·开发语言·数据结构·数据库·windows·python·mysql