2021-10-21

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语句来释放占用的资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值