head first java 笔记 chapter 11~12

来源:互联网 发布:java中i和 i的区别 编辑:程序博客网 时间:2024/06/06 03:52
Chapter 11 异常处理
异常是一种Exception类型的对象,可以是任何他子类的实例。
 
表示调用代码可能产生风险(例如查找的文件不在该位置)
方法后面声明throws语句 会标出是那种异常。在方法中用关键字throw 后面跟创建出的异常对象。
 
在编写可能抛出异常的方法时,它们都必须声明有异常。
异常会被丢回给调用方,用try-catch来处理:
 
PrintStackTrace()对throwable对象的堆栈跟踪至错误输出流
注:runtimeException是不检查异常,一般是因为程序逻辑错误的问题,编译器不检查意味着可以不用catch异常。任何继承过RuntimeException的类都不会受编译器关于是否声明抛出RuntimeException的检查
try{//
}catch(Exception e){//
}finally{//
}
如果try块中没有抛出异常,那么不会运行catch块;如果抛出异常,那么会跳过其他程序直接运行catch块
其中finally块用来存放不管有没有异常都需要执行的程序(即使try catch块中有return,会先跳到finally再回去return);

多重异常 用逗号隔开
方法必须声明全部可能的检查异常,或者直接声明这些异常的父类
一个catch块可以catch一个单独的异常,或者不同父类的异常进行处理;应该为不同处理方式的异常编写不同的catch块
Catch时不能先catch父类再catch子类,要按照从小到大的顺序,否则后面的catch就不会有使用机会

Ducking躲闪掉异常
将异常返回给上一级:方法抛出异常时方法会从栈上被取出,丢给栈上的下一个方法。



Chapter12 用户图形接口Swing GUI


来自javax.swing.*包中。
JFrame 是最下面的窗体对象,要在上面添加各种组件(widget)

事件
用户在进行交互时对组件产生动作,通过监听接口来监听事件源是否要产生事件对象。Java上取得处理用户操作事件的过程称为even handling。例如按钮被按下,要在按键之间发生时调用执行功能的方法。
监听接口 是介于监听(用户)和事件源(按钮)之间的桥梁。
GUI组件是事件源,是可以将用户操作(点击鼠标,按键等)转换成事件的对象。Java中的时间几乎都是用对象表示的。每个事件类型都有相对应的监听接口,要实现接口就要实现接口中的方法。(能让按钮有一个回头调用程序的方式,接口就是用来声明调用call-back方法的地方)
例如ActionListener接口,需要实现actionPerformed(ActionEvent ev)方法,传入一个事件对象。当这个方法被调用时,参数会存到按钮中的清单里。

当要监听多个事件源时,需要使用到内部类。
内部类 :嵌套在另一个类的内部
内部类可以吧外部的方法和变量都当做自己的;内外可以交互使用变量。内部类的实例一定会绑在外部类的实例上;一般使用外部类的实例来创建内部类的实例。
(也可以从外部类以外的程序来初始化内部实例)

原创粉丝点击