1.前言
这一讲,我们来讲解枚举类以及异常机制。如果我们需要一个类,这个类的对象是固定的,那么枚举类就非常适合我们的使用,如:创建一个季节类,在这个季节类内部直接构造“春”、“夏”、“秋”、“冬”四个季节对象,并且设置为static修饰,如果有需要直接通过类名去调用即可,这样有限的对象,是不是就很方便呢?
2.enum关键字
我们发现如上图一样大串的列举实在是太累了,于是enum关键字就出现了,enum用于修饰类
从上图,我们可以了解到,使用enum时就取代了原来的class,并且里面的内部对象只保留了类名以及构造器的括号传参。
值得注意的是,当定义为enum类时,我们的属性就是private修饰的了,并且要求创建的对象必须写在第一行,多个对象就以逗号分隔,以分号结尾。
同时,enum在修饰当前类时,会使当前类默认继承一个Enum类,由于单继承机制,这个类已经不能在继承其他类了。但是仍然可以实现接口。
这里给大家提供一些,enum的常用方法:
3.异常
我们编写代码的时候,由于操作不规范或一些其他原因,常常会导致编译器报错,java的设计者就在我们这些容易出错的地方,为我们提供了一个异常处理机制。通常分为两种1.程序员自己处理。2.交由JVM虚拟机去处理。接下来,让我们来了解一下异常的分类。
3.1、异常的分类
对于java的异常,分为两种。一种叫运行异常,另一种称为编译异常。在讲解他们有什么不同的说明前,我要明确告诉你们,运行异常可以理解为可以不去管的异常,编译异常则为必须去管理的异常,无论你是通过程序员去管理,还是从子类到父类,从父类到JVM机去处理,总之必须有一个环节处理掉这个编译异常。
3.2、运行异常
空指针异常:
数字运算异常:
数组越界异常:
类型转化异常:
对于这类异常,我们通常有两种方式来处理:
1、try-catch
2、throws
第一种方式就是由程序员来处理,通过捕捉在try中的代码错误到catch中处理
第二种方式就是将问题throws出去交给上一级处理
通过在方法的后面添加throws以及相关的错误信息就可以抛出异常。由于错误信息很多,如果一个个记会死人的,所以这里由idea的快捷键alt + enter解决
3.3、编译异常
对于编译异常,我们初学者只需要知道不断throws到JVM去处理即可。
3.4、总结
对于新手而言无论是什么异常我们都一概抛出即可,这是很明智的选择。