java笔记
内部类
通过内部类所在的外部类来实例化内部类
成员内部类
public class Application(){
public static void main(String[] args){
Outer outer = new Outer();
//通过这个外部类来实例化内部类
Outer.Inner inner = outer.new inner();
inner.in(); //调用内部类中的方法
}
}
内部类能获得外部类的私有属性、方法 通过getVarName();
静态内部类 【添加static关键字】
局部内部类 【在方法中添加的类】
//不用名字初始化类,不用将实例保存到变量中 new Apple().eat(); //在main方法中
匿名内部类
ERROR 和 EXCEPTION
检查性异常
运行性异常
错误error 【错误不是异常,而是脱离程序员控制的问题】
java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为异常的超类
java API中已经定义了许多异常类,并分为error和exception两大类
//try catch
int a = 1;
int b = 0;
try{ //try用来监控区域
System.out.println(a/b);
}catch(ArithmeticException e){ //catch(想要捕获的异常类型)捕获异常 常和try配套使用
System.out.println("程序出现异常,变量b不能为0");
}finaly{ //用来处理一些善后工作
System.out.println("finally");
}
//可以不要finally 和io、资源关闭
选择代码 使用ctrl+alt+t 即可自动选择代码块将选中的代码块包起来
if(b == 0){
throw new ArithmeticException(); //主动抛出异常
}
使用throws关键字对外声明该方法有可能发生异常,这样调用者在调用方法时,就明确地知道该方法有异常,并且必须在程序中对异常进行处理,否则编译无法通过。
自定义异常
//自定义的异常类
public class MyException extends Exception{}
在多重catch后面,可以加一个catch(Exception)来处理可能被遗漏的异常
对于不确定的代码,也可以通过try-catch来处理潜在的异常
尽量去处理异常,而不是简单输出异常名
具体如何处理异常,要根据不同的业务和异常类型来决定
尽量添加finally语句来释放占用的资源
1万+

被折叠的 条评论
为什么被折叠?



