您的位置:首页 > 其它

第7章内部类和异常类

2017-12-19 21:06 162 查看

7.1内部类

内部类和外嵌类之间有如下关系

①外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。

②内部类中不能申明静态的成员变量和方法,外嵌类中可以使用内部类声明对象作为,作为外嵌类的成员

③内部类只供外嵌类使用,其他的类不能使用

注:①内部类对应的字节码文件的名字是“外嵌类名¥内部类名”

②内部类可以被修饰为静态的内部类,这样就可以在其他类中使用static内部类来创建对象了。但是,static内部类不能操作外嵌类的实例成员变量。

7.2匿名类

7.2.1和子类有关的匿名类

可以直接使用父类的类名和子类的类体创建一个子类对象,由于无名可以用,所有称为匿名类。

new Bank(){
匿名类的类体
}


有如下特点

①匿名类可以继承父类的方法,也可以重写父类的方法。

②匿名类一定是内部类。

③匿名类可以访问外嵌类的成员变量和方法,匿名类中不能声明类变量和类方法。

匿名对象可以传递给一个匹配的参数

7.2.2和接口有关的匿名类

可以直接使用接口名和一个类体去创建一个对象,这个对象相当于是实现了接口的类。

new 接口名(){

实现接口的匿名类的类体

}

类体必须重写接口的全部方法。

7.3异常类

java使用throw关键字抛出一个Exception子类的实例表示异常发生。

异常对象可以调用如下方法得到或者输出有关异常的信息

public String getMessage();
public void printStackTrace();
public String toString();


7.3.1try-catch语句

java用try-catch语句来处理异常,try部分里发生异常或者调用了抛出异常的方法,catch用来处理异常。一个try-catch中可以包括多个catch部分。

注:catch参数中的异常不能有父子关系,否则保留一个父类参数catch就可以了。

7.3.2自定义异常类

一个方法中使用throws声明要产生的若干异常类,并在方法方法中用响应的异常创建对象,使用throw关键字抛出对象,导致方法结束。

7.4断言

当发生某一个错误时,要求程序立即停止执行

①断言的语法格式

assert 布尔表达式;

assert 布尔表达式:message表达式

第一种当布尔表达式为false的时候程序停止运行

第二种当布尔表达式为false是输出message表达式

②启动与关闭断言语句

当使用java解释器直接运行应用程序的时,默认地关闭断言语句

在调试程序的时候使用 -ea启用断言语句

java -ea mainClass
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: