篮之新喜 发表于 2024-6-22 16:55:22

[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]
查看完整版本: [JAVASE] 非常 与 SE阶段知识点增补