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

    /*
    内部类
    
    内部类类别:
    
        成员内部类: 在一个类的成员位置定义另外一个类,那么另外 一个 类就称作为成员内部类。
    
            成员内部类的访问方式:
                方式1: 在外部类内提供一个方法创建内部类的对象进行访问。
    
                方式2: 在其他类创建内部类的对象进行访问。 创建的格式: 外部类.内部类  变量名 = new 外部类().new 内部类();
    
                注意:如果是静态内部类在其他类的创建对象方式:  外部类.内部类 变量名=  new 外部类.内部类();
    
            成员内部类要注意的事项:
                1. 成员内部类可以直接访问外部类成员。
                2. 如果成员内部类与外部类存在同名的成员,在内部类中默认是访问内部类 的成员。
                    成员通过“外部类.this.成员”指定访问外部类的成员。
                3. 如果成员内部类出现了静态的成员,那么该成员内部类也必须使用static修饰。
                4. 如果成员内部类是私有的,那么创建内部类的对象就只能在外部类提供方法创建。
    
        局部内部类  : 在一个类的方法内部定义另外一个类,  另外一个类就称作为局部内部类。
    
        局部内部类要注意: 如果局部内部类访问了局部变量,那么该变量需要使用fianl修饰。 (原因: 因为生命周期不一致,所以内部类访问局部变量其实是一个复制品。)
    
    
        匿名内部类 : 没有类名的类。
    
        匿名内部类的好处: 简化书写。
    
        匿名内部类的使用前提: 必须存在继承或者实现关系。
    
        匿名内部类的格式:
    
            new 父类(父接口){
                
                匿名内部类的成员;
    
            };
    
    
    异常:
    
    异常的体系:
    ---------|Throwable 
    --------------|  Error (错误)  错误一般是由于jvm或者是硬件引发的问题,所以我们一般都不会通过代码去处理。
    --------------| Exception (异常) 异常我们一般都会通过代码去处理的。
    
    
    异常的处理方式
        
    
            方式一:捕获处理
            
            捕获处理的格式
                
                        try{
                            
                            可能发生异常的代码
    
                        }catch(捕获的异常类型  变量名){
                            处理异常的代码
                        }
            
            捕获处理要注意的细节:
                1. 如果一个try块中出现了异常的代码,经过处理之后,那么try-catch块外面的代码可以正常执行。
                2. 如果一个try块中出现了异常的代码,那么在try块中出现异常的代码后面 的语句无法执行。
                3. 一个try块后面可以跟多个catch块,也就是一个try块可以捕获多种异常的类型,但是捕获的
                异常类型必须从小到大进行捕获。
    
            方式二:抛出处理(throw throws)
    
    
            抛出处理要注意的细节:
                1. 如果一个方法内部抛出了一个编译时异常对象,那么该方法必须要声明抛出。
                2. 如果调用了一个声明抛出编译时异常的方法,那么调用者必须要处理。
                3. 如果一个方法抛出了一个异常对象,那么该方法也会马上停止(一个方法遇到了throw关键字,那么该方法就会马上停止)
                4. 在一种情况下只能抛出一种异常对象。
            
            throw 关键字是用于方法体之内抛出异常对象 的,throws是用于方法 声明上声明抛出异常类型的。
    
    
    
    */
    class Demo1 
    {
        public static void main(String[] args) 
        {
            System.out.println("Hello World!");
        }
    }
  • 相关阅读:
    FileSystemWatcher用法详解【转】
    关于TransactionScope事务的TransactionScopeOption的实例
    TransactionScope IsolationLevel 事务隔离级别
    C#中TransactionScope的使用方法和原理
    关于Qt 静态成员函数调用信号
    【Qt编程】基于QWT的曲线绘制及图例显示操作——有样点的实现功能
    使用qwt作曲线图——有网格线背景的画法
    Qt程序app添加图标复制到其它电脑后不显示的解决方法
    QUrl的使用,特别是对含特殊字符的字符串进行 URL 格式化编码
    QDateTime 本地时间和UTC时间转换问题
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6354098.html
Copyright © 2011-2022 走看看