Java编程:内部类与方块游戏交互逻辑解析
1. 匿名内部类
在Java中,内部类虽然没有名字,但Java会为它们创建 .class
文件。文件名由外部类名、美元符号和数字组成,例如 GUIFrame$1.class
就是Java为匿名 WindowAdapter
创建的类文件。实际上,我们可以为任何类创建匿名内部类,以下是一个示例:
Canvas canvas = new Canvas() {
//define an anonymous subclass of Canvas, such as overriding paint()
public void paint(Graphics g) {
g.fillRect(0, 0, 10, 10);
}
};
在上述示例中,创建了一个 Canvas
的匿名子类,并重写了 paint(Graphics)
方法,用于填充一个矩形。这样就无需定义一个完全独立的类来继承 Canvas
实现简单的填充矩形操作。
2. 方块移动的用户输入处理
PlayArea
类通过 KeyEvents
接收用户输入。在实现 KeyListener
之前,先了解 PlayArea
中用于辅助方块移动的成员和方法