首页 > 其他 > 详细

内部类以及抛出异常

时间:2021-08-17 10:14:50      阅读:20      评论:0      收藏:0      [点我收藏+]

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;

技术分享图片

 

 

内部类以及抛出异常

原文:https://www.cnblogs.com/LiangQiong/p/15150571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!