内部类与异常类

  • 内部类与外嵌类的关系:

  ①内部类可以直接调用外嵌类的成员变量和方法

  ②内部类的类体中不能声明类变量和类方法

  ③内部类只能被它的外嵌类直接使用(其他类不能直接对它声明对象,需要外部类的对象来创建),除非用static修饰内部类

  • 内部类有对应的字节码文件:“外嵌类名$内部类名.class”。
  • static内部类不能操作外嵌类中的实例成员变量。
  • 其他类创建另一个类的内部类对象的方法:"外嵌类名.内部类名  对象=new  外嵌类名(参数).new  内部类名(参数)”。
  • 其他类创建另一个类的static内部类对象的方法:"外嵌类名.内部类名  对象=new  外嵌类名.内部类名(参数)”。
  • 非内部类不可以是static类。
  • 匿名类:①作为类有关的方法参数(当作该参数类型的类的子类)格式:方法(new 类名(){类体});

        ②作为接口有关的方法参数(当作实现该参数类型的接口的类)格式:方法(new 接口名(){类体});

  • 匿名类是内部类:

  ①匿名类可以直接调用其外嵌类的成员变量和方法

  ②匿名类的类体中不能声明类变量和类方法

  ③匿名类可以继承或重写父类的方法(与类有关的匿名类)

  ④匿名类没有类名,所以创建对象时直接使用父类的构造方法(与类有关的匿名类)

  ⑤类体要重写接口中的全部方法(与接口有关的匿名类)

  ⑥匿名类都是非抽象的,而且只能继承一个类或实现一个接口

  ⑦匿名内部类不能是public,protected,private,static

  • 异常类try-catch语句中,无论在try是否发生过异常或者执行return语句,finally子语句都会被执行,除非执行退出程序代码(System.exit(0))。
  • throw关键字抛出一个Exception子类的实例表示异常发生。(throw和throws是两个不同的关键字)
  • 异常对象可以调用如下方法得到或输出有关异常的信息(信息完整度由高到低):

  ①public void printStackTrace();

  ②public String toString();

  ③public String getMessage();

  • 使用关键字assert声明一条断言语句→格式:

   ①assert   boolean表达式;(值true程序从断言语句处继续执行;值false程序从断言语句处停止执行)

      ②assert   boolean表达式:String表达式;(值true继续执行;值false停止执行并输出String表达式提示错误)

  • JVM默认会关闭断言语句,需要用-ea启动断言语句,cmd:“java  -ea  类名”来运行。

转载于:https://www.cnblogs.com/rongbin/p/9358905.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值