等我学会泛型就回来更新…
接口
接口中所有方法都是 public abstract
数据成员默认为 public static final
接口中没有构造方法
接口中所有方法都是抽象方法,需要类继承接口之后实现,所以可以将接口看成是对继承它的子类的一种规范
接口无法被实例化,但是可以用来生命一个变量,使其成为空指针或指向实现了该接口的对象
其余见 接口练习
内部类
有缘再写
异常
error一般不用管,只考虑到Exception
异常抛出时会考虑两种异常 Exception 和 RuntimeException
在声明可能抛出Exception时,代码中必须给出处理方法,但如果是RuntimeException的话则不必须处理(能处理还是处理一下比较好)
给一个不典型的例子
public int divide(int a, int b) throws ArithmeticException{ //ArithmeticException属于RuntimeException,不是必须被处理的
int c = 0;
//在try-catch下尝试可能出现异常的操作
try {
c = a / b; //在除数为零时会出现ArithmeticException异常
} catch (ArithmeticException ae) { //尝试捕获
System.out.println("假装处理");
throw new ArithmeticException("除数不能为0");
}finally {
System.out.println("finally");
}
System.out.println("hava a try");
return c;
}
上面代码执行结果为
假装处理
finally
留坑 处理异常