head first Java第十二章
用户图形接口
取得按钮的ActionEvent
- 实现ActionListener这个接口
- 向按钮注册(告诉它你要监听事件)
- 定义事件的处理方法(实现接口上的方法)
- 监听获知事件
- 事件源发出事件
- 事件对象携带事件信息
内部类
内部类可以使用外部所有的方法与变量,就算是私用的也一样。内部类把存取外部类的方法和变量当作是开自家冰箱。
内部类的实例一定会绑在外部类的实例上
内部类只可以存取它所属的那一个外部类
- 创建外部类的实例
- 使用外部类的实例来创建内部类的实例
- 外部和内部对象有着亲密的连接(这两个对象再堆上有特殊的关系,内外可以交互使用变量)
如何创建内部类的实例
如果你从外部类程序代码中初始化内部的类,此内部对象会绑在该外部对象上。例如,如果某个方法的程序代码会初始化内部的类,此内部对象会绑在执行该方法的实例上。外层类的程序代码可以用初始化其他类完全相同的方法初始它所包容的内部类。
class MyOuter{
private int x;//外部有个私有的x实例变量
MyInner inner = new MyInner();//创建内部的实例
public void doStuff(){
inner.go();//调用内部的方法
}
class MyInner{
void go(){
x = 42;//内部可以使用外部的x变量
}
}
}
李晓晗
更新于2019-9-4 下午