Java大数据学习第九天---异常 抽象

Java大数据学习第九天---异常 抽象,第1张

Java大数据学习第九天---异常 抽象 异常
  1. 异常的继承结构

    • throwable 异常层次结构中的顶级父类 是异常层次结构的根

    • Error 错误 目前编码解决不了的问题 程序无法处理

    • Exception 异常 可以通过代码修复

      • 编译异常 还没运行就已经报错

      • 运行异常 可以通过编译 但是 一运行就报错

  2. 异常解决的方案

    • 方案一:捕获处理

      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);
          			}
      
抽象
  1. 抽象类:

    • 被abstract修饰的方法是抽象方法 没有方法体

    • 一旦一个类中包含抽象方法 这个类必须被声明成抽象类

    • 如果子类继承了抽象父类,有两种解决办法:

      • 方案一:抽象子类:实现一部分/不实现抽象父类中的抽象方法

      • 方案二:普通子类:实现抽象父类中的所有抽象方法

      • 实现父类的抽象方法:
        class Pig extends Animal{//方案二
            @Override
            public void fly() {
                System.out.println("我爸的债务终于还清了,我家的猪终于飞起来了");
            }
        }
        
    • 抽象类不可以被实例化

    • 抽象类是有 构造函数/构造方法 的,只不过不是为了自己使用 而是为了让子类在创建对象时使用super();

    • 抽象类可以定义成员变量 成员常量

    • 抽象类中的方法可以 全普/全抽/半普半抽

          
          
          
          
          
          
          
          
      
    • 如果一个类不想被实例化,那么将这个类声明成抽象类

    • abstract关键字 不可以与 private static final 一起使用

  2. 抽象方法:

    • 被abstract修饰的方法

    • 抽象方法没有方法体{},在小括号之后直接以分号结束

    • public abstract void method();
      
  3. 可以创建多态对象 父类类型 变量名 = new 子类类型();

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5669301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存