zoukankan      html  css  js  c++  java
  • Java基础知识笔记第七章:内部类和异常类

    内部类

    /*
    *Java支持在一个类中定义另一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类
    */
    重要关系:
    /*
    *1.内部类的外嵌类在内部类中仍然有效,内部类的方法也可以外嵌类的方法
    *2.内部类的类体中不可以声明变量类变量和类方法(static)
    *3.内部类仅供他的外嵌类使用。其他类不可以用某个类的内部类
    */
    
    /*
    *字节码文件:外嵌类$内部类名.class
    */
    
    
    /*
    *内部类可以被修饰为static,但是内部类不能操作外嵌类的实例成员变量
    */

    匿名类

      和子类有关的异常类

    java允许我们直接使用一个类的子类体创建一个子类对象,也就是说创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作:匿名类
    
    
    new Bank{
        匿名类的类体
    };

        特点:

    /*
    *匿名类可以继承父类的方法也可以重写父类的方法
    *使用匿名类时,必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类
    *匿名类可以访问外嵌类的成员变量和方法,匿名类的类体中不可以声明static成员变量/方法
    *由于匿名类是一个子类,但没有类名,所以在用匿名类创建对象的时候,要直接使用父类的构造方法
    */

      和接口有关的匿名类

    /*
    假设Computable是一个接口,那么java允许直接用接口名和一个类体创建一个匿名对象,此类被认为是实现了Computable接口的类去掉声明后的类体,称作匿名类。
    */
    
    new  Computable{
        实现接口的匿名类的类体
    }

    异常类

    所谓异常就是运行时可能出现的一些错误,例如试图打开一个根本不存在的文件,异常处理将会改变程序的控制流程,让程序有机会对错误做出处理

      try......catch语句

    try{
    
            包含可能发生的异常语句
    
    }catch(ExceptionSubClass1 e){
            .......
    }
    catch(ExceptionSubClass2 e){
            .......
    }
    // 处理异常的时候可以自己try.....catch   也可以throw到上一层处理
    public  String getMessage();
    public String toString();
    public void printStackTrace();


    //打印异常信息
     

      自定义异常类

    继承Exception做父类
    写出构造方法

    断言:

    /*
    断言:不准备通过异常来捕获错误,例如,当发生某个错误时,要求程序必须停止执行。
    */
    
    语法格式:
    assert   booleanExpression
    assert   booleanExpression:messageException;
    
    例如,对应断言语句:
    assert  number >=0
    //如果表达式number >=0的值为true,程序继续执行,否则程序立刻结束执行。
    java  -ea  mainClass

    小结:

  • 相关阅读:
    Linux下编译安装redis
    docker搭建swoole的简易的聊天室
    Linux下面安装swoole
    laravel命令
    史上最污技术解读,60 个 IT 术语我竟然秒懂了.....
    redis集群搭建
    Windows安装MongoDB
    十大经典排序算法(动图演示)
    消息中间件基础
    laravel邮件发送
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/9736303.html
Copyright © 2011-2022 走看看