1.除咯try-catch,throw、throws等方法处理异常外,还可以自定义异常
例题:
public MyNumberException extends Exception{
public MyNumberException(String error){
super(error);}}
public Test{
public static void main(String []args) throws MyNumberException{
Test test = new Test();
System.out.println(test.add(1));}
public static int add(Object object) throws MyNumberException{
if(object instanceof Integer){
int num = (int)num;
return num++;}else{
MyNumberException myNumberException = new MyNumberException("你传入的参数不是整型!");
throw myNumberException;}}
}
2.当自己定义的异常类的父类不是RuntimeException时,name需要在主方法后面throws一个MyNumberException异常
当父类异常类时RuntimeException时,则不需要在主方法后面抛一个MyNumberException异常。
3.instanceof关键字
用于对象 instanceof 实例化类的比较,返回值为Boolean类型,当左边为null时,不管与什么类比较时都会是false
4.实现汽车查询
1)定义一个抽象的父类(Car)包括车辆名称和车辆颜色两个属性,重写两个属性的构造方法来初始化对象,定义get和set方法
来传入和获取对象属性,再定义一个抽象方法seatNum来返回每个不同车类的座位数
2)轿车类(Sedan)、大巴类(Bus)、卡车类(Truck)来继承父类(Car)的构造方法、get和set方法以及seatNum方法
在卡车类(Truck)中要从接口Container里面重写的weight方法,并重写构造函数添加weight属性,以及重写weight方法来传入weight值
3)自定义一个异常类CarException类继承父类Exception并定义一个有参构造方法,并通过super(error)来进行有参构造
4)在测试类中创建三个不同车类的静态对象,并创建以个车类数组对象。在static代码块中创建键盘输入对象,对三个不同车类进行实例化并
传入数据,最后将他们存入Cars数组中。
5)在测试类类中添加showCars方法来通过foreach遍历循环每个Cars类中的car元素是否与不同车类的对象进行比较来输出不同车类的信息
并输入选择修改的车号码,通过switch-case函数来进行匹配,在调用update方法来对车辆属性进行修改
6)定义一个update方法参数列表为(String type)将传入的字符串与类对象进行匹配根据不同的车类重新修改他们的属性,并创建心得车类对象
传入到数组中,最后在函数的最后调用showCars方法来查看Cars数组中不同车的情况
7)最后在主方法中创建他test对象来调用showCars方法进行功能的实现。