之前用微信截图还要登录很麻烦,于是找到了方便的截图工具:Snipaste
技巧快速new对象:
以下代码为例,输入new AboutStatic()后,按ctrl + alt + v即可快速new一个对象
public class AboutStatic {
{
System.out.println("加载匿名块");
}
static
{
System.out.println("加载静态块");
}
public AboutStatic(){
System.out.println("加载构造方法");
}
public static void main(String[] args) {
AboutStatic aboutStatic = new AboutStatic();
final AboutStatic aboutStatic1 = new AboutStatic();
}
}
这个结果很好的展示了加载顺序
抽象类:
关键字abstract
抽象类不能被new出来,只能靠子类去实现
抽象类中可以写普通的方法
抽象方法必须在抽象类中
接口:
接口只有规范,通过关键字interface来定义
子类通过implements来实现
子类可以实现多个接口,用半角的逗号隔开。
异常:
要理解Java异常处理是如何工作的,需要掌握以下三种异常:
检查性异常:例如要打开一个不存在的文件时,异常就发生了
运行时异常:运行时异常可以在编译时被忽略
错误error:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,在编译是时察觉不到。
异常处理机制
抛出异常
处理异常
捕获多个异常时,要从小到大去捕获
快捷键:ctrl + alt + t 选择
主动抛出异常
一般在方法中使用
throw和throws
try {
new Test().test(1,0);
} catch (ArithmeticException e) {
e.printStackTrace();
}
}
public void test(int a, int b) throws ArithmeticException{
if(b == 0){
throw new ArithmeticException();
}