接口:接口就是比抽象类更抽象的类
关键字interface
语法:public interface 类名(
方法:都是抽象方法
public void a();
)
接口里面都是抽象方法;
接口不能被实例化:它只能被子类进行实现(继承)重写里面所有的方法
接口时可以多实现(继承)
接口中声明变量都是静态的
接口中没有构造函数
接口本身不实现任何功能的,设计接口的时候不用考虑实现细节
怎么去写一个接口:
1.接口的参数列表
2.接口的返回值
异常
程序开发和运行过程中会出现编译错误和运行错误。编译错误容易被发现并排除,而运行错误(逻辑错误和异常)很难预料。因此为了程序的稳定性和可靠性,就需要对程序异常处理和保护。
异常( Exception ):正常程序流程所不能处理或者没有处理的异常情况或异常事件
异常的处理
<1>捕捉异常(try_catch_finally语句)
try{
// 语句组
throw new Exception(); // 主动抛出错误
}catch(Exception ex){
// 异常处理语句组
}
<2>throws抛出异常
class MyException extends RuntimeException {
public MyException () {
super(“自定义的错误”);
}
}
Exception类
1.构造方法
public Exception();
public Exception(String message); // 信息
Exception(String message, Throwable cause); // 信息,原因
2.方法
getMessage():获取信息
getCause():获取原因
printStackTrace():打印调用堆栈信息
3.多异常的处理:子类异常要排在父类异常的前面
4.finally语句:
无论是否有异常都要执行
即使其中有break、return等语句
在编译时,finally部分代码或生成多遍
捕获(catch)
抛出(throws):在方法的签名后面用throws xxx来声明该方法可能会抛出某种异常
在子类中,如果要覆盖父类的一个方法,父类的这个方法声明了throws异常,则子类的方法可以throws异常
可以抛出子类异常(更详细的异常),但不能抛出更一般的异常