JAVA预习第二周——异常类

本文详细介绍了Java中的内部类和外嵌类的概念及关系,包括静态内部类的特性。接着讨论了匿名类的定义和特点,指出它们不能声明静态成员。异常类的分类和处理机制也进行了阐述,包括Error和Exception的区别,以及try-catch-finally语句的使用。最后提到了断言语句在调试中的作用及其启用方式。
摘要由CSDN通过智能技术生成

目录

一、内部类与外嵌类:

二、匿名类:

三、异常类:

四、断言语句


一、内部类与外嵌类:

1.什么是?:在一个类中定义的另一个类。包含内部类的类称为内部类的外嵌类。

2.内部类与外嵌类的关系:

  • 外嵌类的成员变量在内部类中仍有效,内部类方法仍可以调用外嵌类方法
  • 内部类的类体不能声明类变量和类方法。外嵌类的类体可以用内部类声明对象,作为外嵌类的成员
  • 内部类仅能它的外嵌类使用,其他类不能使用别的类的内部类的声明对象

3.注意:

  • 内部类生成的字节码文件名:外嵌类名$内部类名.class
  • 内部类可以被修饰为static类,这种的不能操作外嵌类中的实例变量。其他类可以使用static内部类创建对象。

二、匿名类:

1.什么是?:

没有声明一个类的子类,却用这个子类的类体创建对象。不能用匿名类声明对象,但可以创建对象

2.匿名类的特点:

  • 可以继承父类的方法也可以重写父类的方法
  • 匿名类一定是内部类
  • 匿名类中不可以声明static成员变量和方法。(匿名类可以访问其外嵌类的成员变量和方法)
  • 用匿名类创建对象时,要直接使用父类的构造方法。
  • 匿名对象的引用可以传递一个匹配的参数。

三、异常类:

1.分类:

(1)Error类:非检查型异常。错误,无法被处理

(2)Exception类:

    RuntimeException:非检查型异常                       

  • NullPointerException空指针异常:
  • ArithmeticException数字计算的异常
  • ArrayOutOfBoundsException数组越界产生的异常
  • ClassNotFoundException找不到类文件的异常
  • ClassCastException类文件强制转化的异常

    IOException 以及 SQLException:检查型异常

2.try catch finally 语句

异常部分放到try 中;对异常的处理放到catch中。可以有多个catch。catch中的参数是Exception的某个子类,也就是说,这些参数中的类之间不能有父子关系。

3.自定义异常类:

创建类,继承Exception或它的子类,重写构造方法。

用throws关键字声明要产生的若干个异常,用相应的异常类创建对象。用throw关键字抛出该异常对象,导致该方法结束执行。catch的作用是捕获throw抛出的异常对象。

四、断言语句

1.用处:一般用于程序不准备通过捕获异常来处理的错误。在调试代码阶段发挥作用。

2.语法:

  • assert booleanExpression;
  • assert booleanExxpression : messageException(提示用户出现什么样的错误);

3.注意:

java解释器运行程序时,某人关闭断言语句。调试时可以使用 -ea启用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值