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();
    }
}
复制代码
相关推荐
ly_Enhs几秒前
Vulkan 一句话心智词典(去恐惧版)
开发语言·vulkan图形渲染c/c++
成为大佬先秃头几秒前
渐进式JavaScript框架:Vue 工具 & 模块化 & 迁移
开发语言·javascript·vue.js
程序员小白条2 分钟前
提前实习的好处有哪些?有坏处吗?
java·开发语言·数据结构·数据库·链表
蒙奇D索大3 分钟前
【数据结构】排序算法精讲 | 快速排序全解:分治思想、核心步骤与示例演示
数据结构·笔记·学习·考研·算法·排序算法·改行学it
ss2733 分钟前
Executors预定义线程池-正确使用姿势
linux·开发语言·python
七夜zippoe3 分钟前
Python高级数据结构深度解析:从collections模块到内存优化实战
开发语言·数据结构·python·collections·内存视图
lly2024064 分钟前
Vue.js 过渡 & 动画
开发语言
iconball4 分钟前
个人用云计算学习笔记 --29 华为云网络云服务
运维·笔记·学习·华为云·云计算
石工记5 分钟前
Java 作为主开发语言 + 调用 AI 能力(大模型 API / 本地化轻量模型)
java·开发语言·人工智能
石去皿5 分钟前
C++校招通关秘籍:从高频考点到工程思维的跃迁
java·服务器·c++