-
异常的继承结构
-
throwable 异常层次结构中的顶级父类 是异常层次结构的根
-
Error 错误 目前编码解决不了的问题 程序无法处理
-
Exception 异常 可以通过代码修复
-
编译异常 还没运行就已经报错
-
运行异常 可以通过编译 但是 一运行就报错
-
-
-
异常解决的方案
-
方案一:捕获处理
1. 异常捕获处理格式: try{ 可能会抛出异常的代码 }catch(事先设想的异常类型 异常名){ 万一捕获到了异常,进行处理的解决方案 } 2. 注意: * try-catch结构可以嵌套 如果有多种异常类型需要特殊处理的话,catch部分可以多写 类似于else if结构 *使用多态的思想,不论是什么子异常,统一看作父类型Exception,做出更加通用的解决方案,甚至可以只写这一个
-
方案二:向上抛出throws
1. 异常抛出的格式 在方法的小括号与大括号之间写:throws 异常类型 如果有多个异常 使用逗号隔开即可 2. 注意: *如果一个方法抛出了异常 那么谁来调用这个方法 谁就要处理这个异常 * 处理也有两种方法: 捕获解决 和 继续向上抛出 * 但是注意:我们一般会在main()方法调用之前将异常解决 * 而不是将问题抛给main()方法 因为没人解决了 该报错还是报错 例如:1.捕获解决: public static void f(){ try{ method3(); }catch(Exception e){ System.out.println("输入的数据不对") } } 2.继续向上抛出 private static void method3()throws Exception { //1.复写可能会出现异常的代码 System.out.println("请您输入要计算的第一个整数:"); int a = new Scanner(System.in).nextInt(); System.out.println("请您输入要计算的第二个整数:"); int b = new Scanner(System.in).nextInt(); System.out.println(a/b); }
-
-
抽象类:
-
被abstract修饰的方法是抽象方法 没有方法体
-
一旦一个类中包含抽象方法 这个类必须被声明成抽象类
-
如果子类继承了抽象父类,有两种解决办法:
-
方案一:抽象子类:实现一部分/不实现抽象父类中的抽象方法
-
方案二:普通子类:实现抽象父类中的所有抽象方法
-
实现父类的抽象方法: class Pig extends Animal{//方案二 @Override public void fly() { System.out.println("我爸的债务终于还清了,我家的猪终于飞起来了"); } }
-
-
抽象类不可以被实例化
-
抽象类是有 构造函数/构造方法 的,只不过不是为了自己使用 而是为了让子类在创建对象时使用super();
-
抽象类可以定义成员变量 成员常量
-
抽象类中的方法可以 全普/全抽/半普半抽
-
如果一个类不想被实例化,那么将这个类声明成抽象类
-
abstract关键字 不可以与 private static final 一起使用
-
-
抽象方法:
-
被abstract修饰的方法
-
抽象方法没有方法体{},在小括号之后直接以分号结束
-
public abstract void method();
-
-
可以创建多态对象 父类类型 变量名 = new 子类类型();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)