内部类以及抛出异常

java基础知识

内部类以及抛出异常

 

内部类

定义:就是一个类的内部定义一个类;

1、成员内部类:

当定义了内部类的方法需要访问的时候,需要通过外部类进行new;

Outer o1 = new Outer();
Outer.Inner o2 = o1.new Inner(); //o1是new的外部类的名

**可以获得外部类的私有属性(这就很牛)

一个java类中,只有一个public类,可以有多个class类;

2、局部内部类;

public class Outer {
   public void meth(){
       class Inner{    //局部内部类
           public void in(){
               
          }
      }
  }
}

匿名类:

new inner().eat();   //inner是个类,eat是类中的方法;

不知道是谁,但是直接调用方法的这种就是匿名类;

异常机制 exception

定义:程序运行中出现的问题;

异常的类型:检查性异常:最具代表性的是用户错误或问题引起的异常(难以预见);

运行时异常:可以在编译时被忽略,运行时异常;

错误:error,脱离程序员控制的问题;

都是Throwable的子类;

关键字:try,catch,finally,throw,throws;

try{监控区域} catch{抛出异常,想要捕获的错误类型}Fnally{善后工作}

public class Test {
   public static void main(String[] args) {
       int a=1;
       int b=0;
      try {
          System.out.println(a/b);
      }catch (ArithmeticException e){
          System.out.println("出现异常,除数不能为零!");
      }catch (Throwable f){
          System.out.println("异常了");
?
      }
      finally {//善后工作
          System.out.println("finally");
      }
  }
}

注意:当需要捕获多个错误的时候,需要把最小的写前面,最大的如Throwable写在最后,才能捕获到。

写异常的快捷键:Ctrl+Alt+T;

主动抛出异常:

public class Test {
   public static void main(String[] args) {
       new Test().test(1,0);
      }
   
   
   public void test(int a,int b){
       if(b==0){
           throw new ArithmeticException();//主动的抛出异常,一般在方法中;
      }
  }
}

当处理不了的时候,可以直接抛出去;使用Throws;

内部类以及抛出异常

 

 

内部类以及抛出异常

上一篇:awk-02-内置变量


下一篇:剑指 Offer 32 - I. 从上到下打印二叉树