zoukankan      html  css  js  c++  java
  • Java内部类与异常类

     1 内部类 与 异常类
     2 内部类: 在一个类的内部 声明另一个类->此类为内部类
     3 外嵌类:包含内部类的类是外嵌类
     4 关系:
     5     内部类:可以 使用  外嵌类的成员变量
     6          :可以 调用 外嵌类的 方法
     7          :不可以 声明 类变量 和类方法 static
     8          :作用是:仅供外嵌类  使用,其他的类不能使用
     9     外嵌类:可以调用  内部类 声明对象 作为自己的 成员变量 
    10 java的成员:除了成员变量 和方法   还有内部类
    11     内部类编译 生成 的 字节码文件 是:"外嵌类名字$内嵌类名字.class"
    12         内部类 可以是static 修饰: static class B(){}内部类
    13             可以使用A.B b=new A.B();
    14         非内部类 不可用 使用static修饰
    15             
    16 
    17 和类有关的匿名类:
    18 匿名类: 一定是内部类
    19 创建方式:父类的构造方法()和  匿名类类体
    20         new A(){//相当于 A类的    子类  去掉 类声明 后 的类体,无名可用
    21             匿名类 类体
    22         }
    23 匿名类的常用方法是:向方法的参数传值
    24 匿名类:可以继承父类的方法,也可以重写父类的方法
    25 
    26 和接口有关的匿名类:
    27 创建方式:   接口名  和 类体  创建一个匿名对象
    28         new 接口名 A(){//相当于实现 接口 的  类
    29             实现接口 的匿名类  的 类体(:已经重写了接口的所有方法) 
    30         }
    31 如:某个方法的参数 是接口类型,可以使用 匿名对象 传给这个方法
    32 
    33 异常类:
    34 使用try-catch 语句来处理异常
    35     将可能出现异常的语句  放到try语句里面
    36         一旦出现异常,try 立即结束 ,转向 catch部分,进行异常处理;
    37             可以由多个catch进行捕获异常 进而处理 try-catch-catch-catch
    38                 catch 的 异常参数 都是Exception 的子类
    39                     catch 就是捕获 throw 方法抛出的异常
    40 自定义异常类:
    41 可以扩展 Exception 类 来定义  自己的异常类
    42     方法在声明的时候  使用throws 关键字 来表明要传声的若干个异常
    43         并在方法体中 :给出 具体的 产生异常的 操作
    44     产生异常:用相应的异常类 创建对象,用throw 关键字 抛出该异常 
    45 例:自定义异常
    46 public class 自定义异常类名字A   extends Exception{
    47     //自定义异常的 方法体
    48     //自定义属性 :如
    49      String name;
    50      //自定义 异常方法
    51      public 异常方法名字A_a(参数){
    52          方法体
    53      }
    54 }
    55 
    56 比如其他的类 的  实例方法 :可能 会抛出 自定义的 异常 
    57 类B :
    58 public void 方法B_b(参数)  throws  自定义异常类名字A{//throws只表明 可能会出现 异常
    59     if(条件) {// throw  表明出现这个异常了 ,需要抛出 这个异常
    60         throw   new  异常方法名字A_a(参数);
    61     }
    62 }
    63 
    64 finally语句
    65 在执行try-catch语句后,无论是否发生异常,都会执行finally语句
    66     
    67 说明:即使在try-catch语句中执行了return 语句,那么仍然会执行finally语句
    68     如果在在try-catch语句中 退出了程序 不会执行 finally语句
    69     
    70 断言语句assert:使用assert声明一条断言语句 assert Expression;
  • 相关阅读:
    Node.js 基于 ursa 模块的 RSA 加密解密(已与IOS,Android实现加密通信)
    Mac安装SecureCRT
    lodash underscore 对象数组排序 sortBy 小记
    Spring5--@Indexed注解加快启动速度
    spring的元注解
    RxJava原理学习
    RabbitMQ知识点一
    消息中间件知识点
    Android打开doc、xlsx、ppt等office文档解决方案
    IT观察】网络通信、图片显示、数据库操作……Android程序员如何利用开源框架
  • 原文地址:https://www.cnblogs.com/NirobertEinteson/p/12013200.html
Copyright © 2011-2022 走看看