局部内部类不能定义静态成员。

内部类定义在局部时:

1不可以被成员修饰符修饰

2.可以直接访问玩不类中的成员,因为还持有外部类中的引用

但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量

匿名内部类:

1.匿名内部类其实就是内部类的简写格式

2.定义匿名内部类的前提:内部类必须时继承一个类或者实现接口

3.匿名内部类的格式:   new 父类或者接口(){定义子类的内容}

4.其实匿名内部类就是一个匿名子类对象,而且这个对象有点胖

异常:就是程序在运行时出现的不正常情况

异常的由来:JAVA对不正常情况进行描述后的对象体现

对于问题的划分:一种是严重的问题。一种是非严重的问题

对于严重的问题JAVA通过error类进行描述。对于非严重的,JAVA通过exception类进行描述

对于Error一般不编写针对性的代码对其进行处理。

对于Exception可以使用针对性的处理方式进行处理

异常的处理:

tr {需要被检测的代码}

catch(异常类 变量){处理异常的代码:(处理方式)}

finally{一定会执行语句}

对捕获到的异常对象进行常见方法操作:

String getMessage (): 获取异常的信息

printStackTrace():异常名称,异常信息,异常出现的位置。JVM默认的异常处理机制就是在调用printStackTrace()方法,打印异常在堆栈中的跟踪信息。

throws:在功能上通过throws的关键字声明了该功能有可能出现问题

对多异常的处理:

1.声明异常时,建议声明更为具体的异常。这样处理异常更具体

2.对方声明几个异常,就应有几个catch块。不要定义多余的catch块。如果多个多个catch快中的异常出现继承关系,父类异常catch块放在最下面

3.

建立在进行catch处理时,catch中一定要定义具体处理方式。不要简单的定义一句e.printStackTrace();

自定义异常:就是JAVA项目中特有的异常,对这些异常进行自定义的异常封装。

当在函数内部出现throw抛出异常对象,那么就必须要个对象的处理动作。要么在内部try catch处理,要么在函数上声明让调用者处理。一般情况下函数内出现异常,函数上需要声明。

自定义异常信息:

因为父类已经把异常信息的操作都完成了,所有子类只要在构造时,将异常信息传递给父类通过super语句,那么久可以直接通过getMassage获取信息

throw与  thorws的区别

1.throws使用在函数上, throw使用在函数内

2.throws后面跟的异常类,可以跟多个。用逗号隔开。throw跟的是异常对象。

异常在子类覆盖中的体现;

1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法只能抛出父类的异常或者该异常的子类

2.如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集

3.如果父类或者接口的方法中没有异常抛出,那么子类在覆盖父类方法时,也不可以抛出异常。如果子类方法发生了异常。久必须要进行try处理。绝对不能抛。

finally只有一种情况不会执行,也就是执行System.exit();finally不会执行

自定义异常:定义类继承exception或者RuntimeException

1.为了让该自定义类具有可抛性

2.该类具备操作异常的共性方法

最新文章

  1. js正则匹配过滤 特殊字符
  2. Repository 仓储,你的归宿究竟在哪?(二)-这样的应用层代码,你能接受吗?
  3. 【转】深入理解 Java 垃圾回收机制
  4. 从世界坐标转换成ui的rect坐标的方法
  5. 在CentOS6.8上面安装Python3.5
  6. XML的特殊字符处理
  7. 工厂方法(Factory Method)模式
  8. 转载C# 对象转Json序列化
  9. 牛掰的图片等比缩放js代码
  10. JSP+Ajax站点开发小知识
  11. CMD杀进程 例如:杀8080端口的进程
  12. js--学习方法之-转
  13. Java中线程的使用 (2)-多线程、线程优先级、线程睡眠、让步、阻塞
  14. es6+require混合开发,兼容es6 module,import,export
  15. 用Go校验下载文件之SHA256
  16. Django-3-Template模板
  17. 深入浅出 JVM GC(1)
  18. Android 解决在初次打开Activity加载布局文件时,ScrollView滚动条不在顶部的问题
  19. 巧用CASE WHEN 验证用户登录信息
  20. 20172302 《Java软件结构与数据结构》第五周学习总结

热门文章

  1. 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad
  2. .NET 8 预览版 1:NativeAOT 升级和新的Blazor United
  3. Cobalt Strike 之: Malleable C2 流量伪造与加密
  4. 任何人均可上手的数据库与API搭建平台
  5. 从NLP视角看电视剧《狂飙》,会有什么发现?
  6. 这个博客几乎包括了Makefile中的所有 $ 符号解释
  7. scrapy_redis 分布式爬取酷狗音乐
  8. drf内容总结
  9. Loading Methods
  10. MeterSphere中dubbo接口测试分享