{
Frame frm = (Frame)we.getWindow(); frm.dispose(); System.exit(0); } }
7-35 编写一个JApplet程序,包含一个JLabel对象,显示你的姓名。 import javax.swing.*; import java.awt.*;
public class ch8_e8_14 extends JApplet { JLabel myLbl=new JLabel(\; public void init() {
Container c=getContentPane(); c.add(\,myLbl); } }
7-36 JButton与Button相比增加了什么新的功能?编写一个图形界面的Application程序,包含一个带图标的JButton对象,当用户单击这个按钮时,Application把其Frame的标题修改为“单击按钮!” import javax.swing.*; import java.awt.*;
import java.awt.event.*; public class ch8_e8_15 { public static void main(String args[]) { new MyFrame(); } }
class MyFrame extends Frame implements ActionListener { JButton myButton=new JButton(\; MyFrame() { super(\我的窗口\; add(\,myButton); myButton.addActionListener(this); addWindowListener(new closeWin()); setSize(300,200); setVisible(true); }
public void actionPerformed(ActionEvent ae) { if(ae.getSource()==myButton) {
setTitle(\单击按钮!\; } } }
class closeWin extends WindowAdapter { public void windowClosing(WindowEvent we) {
} 第八章
8-1 什么是异常? Java为什么要引入异常处理机制?系统定义的异常类在异常处理机制中有什么作用
}
we.getwindow().dispose(); System.exit(0);
异常是当程序运行的时候,由于各种不可避免的原因而产生的错误。
Java程序把运行中各种可能出现的错误都看作异常,Java提供的异常情况处理机制叫异常处理。Java 提供了两种不同的异常抛出机制:throws抛出异常和 throw 抛出异常。throws抛出异常又叫间接抛出异常,throw抛出异常又叫直接抛出异常。throws抛出异常和方法说明联系在一起,是针对以下情况:调用的方法抛出了异常、检测到了错误并使用throw语句抛出异常、程序代码有错误从而异常。方法中出现的异常由catch语句捕获,进行处理。
8-3 系统异常如何抛出?程序中如何抛出用户自定义异常?
Java 提供了两种不同的异常抛出机制:throws抛出异常和 throw 抛出异常。throws抛出异常又叫间接抛出异常,throw抛出异常又叫直接抛出异常。throws抛出异常和方法说明联系在一起,是针对以下情况:调用的方法抛出了异常、检测到了错误并使用throw语句抛出异常、程序代码有错误从而异常。方法中出现的异常由catch语句捕获,进行处理。
8-5 Java程序如何处理被抛出的异常?谁负责捕捉异常?为什么catch块要紧跟在try块后面?每个catch块可以处理几种异常?如果try块中可能产生多种异常,应如何处理?
8-7 线程有哪5个基本的状态?它们之间如何转换,简述线程的生命周期
Java中的线程有五种基本状态:新建状态(New),就绪状态(Runnable),运行状态(Running),阻塞状态(Blocked)和死亡状态(Dead)
8-8 什么是线程调度? Java的线程调度采用什么策略
1. 线程调度是指按照特定机制为多个线程分配CPU的使用权.
2. 轮转 加 优先级
8-10 如何在Java程序中实现多线程?试简述使用Thread子类和实现Runnable接口两种方法的异同
Java中编程实现多线程应用有两种途径:一种是Thread子类创建用户自己的线程子类,一种是在用户自己的类中实现Runnable接口。无论哪种方法,都需要使用到Java基础类库中的Thread类及其方法。
两种创建线程方法的比较 (1)直接继承线程Thread类
该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能再继承其他类。 (2)实现Runnable接口。
当一个线程已继承了另一个类时,就只能用实现Runnable接口的方法来创建线程,且便于保持程序
8-13 Java的输入输出类库是什么?Java的基本输入输出类是什么?流式输入输出的特点是什么?
Java的输入输出类库:System.io
Java的基本输入输出类: System.in, System.out
流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。