第七章内部类与异常类

7.1内部类
内部类:在一个类中定义另一个类
外嵌类:包含内部类的类
内部类和外嵌类之间的重要关系:
1.外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法
2.内部类的类体中不可以声明类变量和类方法;外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员
3.内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象
内部类可以被修饰为static内部类
static内部类是外嵌类中的一种静态数据类型
static内部类不能操作外嵌类中的实例成员变量

7.2 匿名类
1.和子类有关的匿名类
创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类
new A ( ) {
匿名类的类体
};
2.和接口有关的匿名类
直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了接口的类去掉类声明后的类体,称作匿名类
new C ( ) {
实现接口的匿名类的类体
};

7.3异常类
异常:程序运行时可能出现一些错误
异常处理:将会改变程序的控制流程,让程序有机会对错误作出处理
程序运行出现异常时,java运行环境就用异常类Exception的相应子类创建一个异常对象并等待处理
异常对象可以调用如下方法得到或输出有关异常的信息:
——public String getMessage();
——public void printStackTrace();
——public String toString();
Java使用try~catch语句处理异常
将可能出现的异常操作放在try部分
将发生异常后的处理放在catch部分
try~catch语句的格式如下:
try {
包含可能发生异常的语句
}
catch(ExceptionSubClass1 e) {
、、、、、
}
catch(ExceptionSubClass2 e) {
、、、、、
}
带finally子语句的try~catch语句的格式如下:try { }
catch(ExceptiionSubClass e){ }
Finally{ }
在执行try~catch语句后,执行finally子语句,无论在try部分是否发生过异常,finally子语句都会被执行
声明异常:一个方法不处理它产生的异常,而是沿着调用层次向上传递,由调用它的方法来处理这些异常
声明异常的方法:在产生异常的方法名后面加上要抛出(throws)的异常的列表
自定义异常类:可以扩展Exception类定义自己的异常类

7.4断言
断言语句用于调试代码阶段,在调试阶段让断言语句发挥作用,发现一些致命的错误
使用关键字assert声明一条断言语句,断言语句有以下两种格式:
——assert booleanExpression;
——assert booleanExpression:messageException;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值