基础Java | 青训营笔记

89 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第9天。 本文内容仅对于写者初学Java时的一些概念作出详细说明,包括 稀疏数组、面向对象OOP、内部类、异常。

稀疏数组

存在多个有规律的0,或为统一数组,可以用稀疏数组保存该数组,即压缩成一个二元数组,第0行记录共有几行几列,有几个有效数字;后面则是对应几行几列及对应值。

面向对象编程OOP

以类的方式组织代码,以对象的组织封装数据 三大特性:封装继承多态

  1. 直接写return;即为返回一个null
  2. 静态方法static 非静态方法
    • new一个对象,也就是实例化后可以调用静态方法
    • 静态直接用类调用就好
  3. 属性:字段Field 成员变量

内部类

  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类

内部类可以获得外部类的私有属性。 静态内部类 只能访问静态 在方法里面写类 为 局部内部类 匿名内部类

//没有名字去初始化类,不用将实例保存到变量中。
//eat为该类里自己设计的方法
new Apple().eat();

异常

异常处理框架 在Java API中已经定义了许多异常类,所有异常归属于超类Throwable ,这些异常类分为两大类,错误Error和异常Exception

Error类对象由Java虚拟机生成并抛出:

  1. Java虚拟机运行错误,当JVM不再继续执行操作所需要的内存资源时,将出现OutOfMemoryError。该类异常发生时,JVM一般会选择线程终止。
  2. 虚拟机试图执行应用时,发生类定义错误(NoClassDefFoundError)、链接错误(LinkageError)。这些错误是不可查的,因为他们在应用程序的控制和处理能力之外,而且绝大多数程序运行时不允许出现这类状况。
  3. Exception分支下有一个重要的子类RuntimeException(运行时异常):包括数组下标越界、空指针异常、算术异常、丢失资源等等
  4. 非运行时异常

Error与Exception区别:

Error是程序无法控制和处理的,JVM直接终止进程;Exception是可以被程序处理的,并且在程序中应该尽可能去处理该异常。

try{}中是监控区域 捕获后不报错,而是执行catch里面的内容

catch的内容一般有e.printStackTrace();//打印错误栈信息,但是尽量去处理异常,不要默认语句

finally 可以不要,作为一些善后工作,对 IO、资源 关闭 可以同时多个catch,但catch的传参 需要层层包含(从小到大 )或者是分支

在方法中throw,它将将该方法抛到上一级

自定义异常

  1. 创建自定义异常类
  2. 在方法中通过throw关键字抛出异常对象
  3. 如果在当前抛出异常的方法中处理异常,开有事用try-catch语句铺货并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
  4. 在出现异常方法的调用者中捕获并处理异常 image.png

快捷键

ctrl+alt+t 对当前语句进行包裹的选项,第七个是try、catch