[JAVASE] 非常 与 SE阶段知识点增补
目录一. 非常
1.1 什么好坏常?
1.2 非常的本质
1.3 非常的分类
1.4 如何处理非常?
1.5 自定义非常
1.6 受查非常 与 非受查非常 与 Error(重要)
二. Object类
三. 内部类
2.1 什么是内部类?
2.2 内部类的分类
2.3 常用内部类的使用
四. 总结
一. 非常
1.1 什么好坏常?
非常就是程序出现了不正常的情况.
https://img-blog.csdnimg.cn/direct/d601cf7178034f73a5b16a33eb05a04d.png
1.2 非常的本质
非常本质上就是一个类.
https://img-blog.csdnimg.cn/direct/9699ec488f5c4f7094366820f0a93749.png
1.3 非常的分类
https://img-blog.csdnimg.cn/direct/44f6386151e84cca8d853ea3e0c786a9.png
Throwable: 所有非常 和 错误的父类. (顶格父类)
Error: 严重问题, 如栈溢出.
Exception: 非常. (运行时非常和编译时非常的父类)
RuntimeException: 运行时非常 (非受查非常).
非RuntimeException: 编译时非常 (受查非常)
1.4 如何处理非常?
处理非常5个必备关键字:
try: 代码块中写可能抛出非常的代码.
catch: 捕获特定的非常.
throw: 抛出非常.
throws: 声明非常, 表现当前方法没有处理非常, 提示这个方法的调用者去处理非常.
finally: finally 代码块中的内容一定会被实行.
以下是代码的实例, 使用了上面的 5 个关键字:
https://img-blog.csdnimg.cn/direct/9553ab2008984fb8ad553f6bf681c7ad.png
https://img-blog.csdnimg.cn/direct/812dd606d38244aeb82935f32158b1cc.png
1.5 自定义非常
在我们写代码的时间, 可能会出现各种各样的非常, 而java本身提供的非常又不能够满足我们的需求, 这时, 我们就须要自己来定义非常(非常的本质是一个类).
以下是几个代码实例训练:
定义一个运行时非常 (非受查非常):
继续于RuntimeException的类默认好坏受查非常
https://img-blog.csdnimg.cn/direct/ca24c27ee1814f4d8b7c4bdce73ce6b1.png
定义一个编译时非常 (受查非常):
继续于Exception的类默认是受查非常.
https://img-blog.csdnimg.cn/direct/070d4feb0338403db08fd4404703433f.png
1.6 受查非常 与 非受查非常 与 Error(重要)
受查非常:
1. 要么被 try catch 包围, 要么当前方法声明 非常, 来提示此方法的调用者去处理非常, 否则报错.
2. 受查非常是编译时非常.
非受查非常:
1. 非受查非常对于 try catch, throws 不做要求.
2. 非受查非常是运行时非常.
Error:
1. Error是 严重错误, 用户不须要处理, jvm会处理.
二. Object类
Object类是所有类的父类.
Object类中的方法:
https://img-blog.csdnimg.cn/direct/6a2e9faa7e7546509f8d0ac64eea7be8.png
三. 内部类
2.1 什么是内部类?
内部类就是定义在某一个类中的类.
2.2 内部类的分类
内部类:
1. 实例内部类.
2. 静态内部类
3. 匿名内部类
4. 局部内部类
2.3 常用内部类的使用
实例内部类, 就相当于是一个成员变量.
https://img-blog.csdnimg.cn/direct/8768f52fb7d549af9b13d69e826d134f.png
静态内部类, 相当于是静态成员变量.
https://img-blog.csdnimg.cn/direct/43e9e3adc29d43cc8911eccf7a52fa2a.png
匿名内部类.
1. 类
https://img-blog.csdnimg.cn/direct/67c1b55187cd48ecb501e8e0e0152b73.png
new Person(), 相当于是 Person的子类对象, 在这个子类对象中 重写了, func方法.
2. 接口
https://img-blog.csdnimg.cn/direct/989715344fdc4ad9bda88131a9d524d2.png
new IOperation(): 相当于 IOperation 的实现类(implements), 必须重写抽象类中的抽象方法.
局部内部类(使用较少).
https://img-blog.csdnimg.cn/direct/7a6a5e5b534c4e889b5164d990f8d7ac.png
四. 总结
1. 非常就是一个类.
2. 处理非常的 5 个必备关键字, try catch throw throws finally.
3. 自定义非常.
4. 区分 受查非常(编译时非常) 与 非受查非常(运行时非常).
5. Object类是所有类的父类.
6. 匿名内部类的使用. (new 接口/类(){ // ...} 相当于是类的子类对象, 大概实现了接口).
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]