Java(五)-内部类和异常类

一、内部类(类中套类)

在一个类中定义另一个类成为内部类
包含内部类的类称为内部类的外嵌类

内部类和外嵌类的关系:
  • 内部类的外嵌类的成员变量和方法在内部类中有效
  • 内部类不可以声明类变量和类方法
  • 内部类仅供它的外嵌类使用

注:
内部类对应的字节码文件格式是“外嵌类名$内部类名”
内部类可以被修饰为static内部类,但不能操作外嵌类的实例成员变量


二、匿名类(创建对象)

是一个子类,不可以用来声明对象,但是可以创建一个对象

特点:
  • 可以继承或者重写父类的方法
  • 匿名类一定是内部类
  • 创建对象时,直接使用父类的构造方法
new name(){ 类体 };  
//name可以是类名,也可以是接口名(必须重写接口的全部方法)

三、异常类

使用throw关键字抛出一个Exception子类的实例表示异常发生
允许方法调用过程中抛出异常对象
异常对象可用如下方法得到异常信息:
- public String getMessage();
- public void printStackTrace();
- public String toString();

1.使用try-catch语句处理异常

try{  
  ……  
}  
catch(ExceptionSubClass e){  
  ……  
}  

2.可自定义异常类

throws声明要产生的异常
throw抛出异常对象

public class SubExceptionName extends Exception{ 
//SubExceptionName是自定义异常类名称
    public SubExceptionName(xxxxx)//构造
}

throw new SubExceptionName(xxxxx);//使用

断言

调试代码,不用捕获异常来处理

  • 声明断言语句,有两种格式:
assert booleanExpression;
//booleanExpression = false时结束执行   
assert booleanExpression:message;//并输出message  
  • 启用断言语句:
    java -ea mainClass
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值