1.Java异常类(Exception)是( )的子类。
(2分)
A.
RuntimeException
B.
Exception
C.
Error
D.
Throwable
答案:D
Error异常和Exception异常都继承于throwable异常类。
throwable异常类下面分为两个子类:error异常(又名系统异常)和Exception异常(编码,环境,操作异常)
Error异常是系统异常(也叫做非检查异常,源码注释:That is, {@code Error} and its subclasses are regarded as unchecked exceptions for the purposes of compile-time checking of exceptions.),主要包括虚拟机错误(virtualmachineError)、线程死锁(threaddeth)。一旦出现Error异常就代表着程序崩溃了,可将其看作程序的终结者。
Exception异常包括两个大类:运行时检查异常(RuntimeException)和编译时异常;RuntimeException异常包含以下四种常见异常:空指针异常,数组下标越界异常、类型转换异常、算术异常,由java虚拟机自动抛出和自动捕获;检查异常:主要是一些文件异常,日志异常,sql异常,和一些需要我们人为干预的异常。检查异常,需要手动添加异常的捕获和处理。
2.以下对自定义异常描述正确的是
(1分)
A.
自定义异常必须继承Exception
B.
自定义异常可以继承自Error
C.
自定义异常可以更加明确定位异常出错的位置和给出详细出错信息
D.
程序中已经提供了丰富的异常类,使用自定义异常没有意义
答案:C
自定义异常可以继承Exception或其子类
3.下列哪些是重载后的构造函数?
public class ConstOver { public ConstOver (int x, int y, int z) { } }
(2分)
A.
Public void ConstOver (byte x, byte y, byte z) { }
B.
Protected int ConstOver ( ) { }
C.
Private ConstOver (int z, int y, byte x) { }
D.
Public Object ConstOver (int x, int y, int z) { }
答案:C
设计一个bankAccount类
import java.util.Scanner;
public class Main{
public static void main(String []args){
Scanner in = new Scanner(System.in);
BankAccount a = new BankAccount(in.nextInt());
System.out.println(a.getBlance());
a.withdraw(in.nextInt());
System.out.println(a.getBlance());
a.deposit(in.nextInt());
System.out.println(a.getBlance());
}
}
class BankAccount{
private int balance;
public BankAccount(){
balance = 0;
}
public BankAccount(int money){
balance = money;
}
public int getBlance(){
return balance;
}
void withdraw(int money){
balance -= money;
}
void deposit(int money){
balance += money;
}
}
jmu-Java-03面向对象基础-02-构造函数与初始化块
import java.util.Scanner;
import java.util.Stack;
class Person{
static {
System.out.println("This is static initialization block");
}
private String name=null;
private boolean gender=