匿名对象和异常处理

匿名对象和异常处理,第1张

匿名对象和异常处理

匿名对象:没有名称的对象
    格式:
        只开辟空间,不创建引用
    例如:
        new Scanner(System.in);
    注意:
        匿名对象只能使用一次

匿名类:没有名称的类
    前提:继承或实现
    格式:
        new 父类/接口(){
            方法重写;
        }

    本质:
        一个继承了该类或者实现了接口的子类匿名对象
        使用多态的形式 创建子类匿名对象


异常:程序出现的错误
    异常体系
        Throwable
            error:系统错误
            exception:程序错误
                RuntimeException:运行错误
                非RuntimeException:编译错误

异常处理:不让出现异常的代码影响其他代码的执行
    处理:try-catch
        格式1:
            try{
                可能出现异常的代码
            }catch(异常类 变量名){
                处理方式
            }    
        格式2:
            try{

            }catch(){
            
            }catch(){
            
            }
        格式3:
            try{

            }catch(){

            }finally{

            }
    注意:
        try只能获取一次异常,一旦出现异常,try中异常之后的代码不会执行
        finally无论什么情况都会执行
异常 *** 作:
    public String getMessage()    返回可输出的简短描述
    public String toString()    返回异常的详细信息
    public void printStackTrace()    把异常信息输出到控制台

throws
    通过try-catch可以处理异常,但是并不是所有的情况都可以处理的,
    这个时候该怎么办?
    通过throws来进行抛出,不进行处理
    格式:
        throws 异常类
    注意:throws是写在方法之后的
    范例:public void test() throws Exception{}

    throws只是进行了抛出,抛出之后也需要进行处理
    谁调用这个方法谁去处理
    处理方式两种 1.try-catch(不会影响其他代码的执行) 2.也抛出(会影响)

注意:
    一旦见到异常就进行try-catch

throw:抛出异常到控制台,并停止当前程序的运行
    格式:
        throw 异常对象


throws                                                                throw
用在方法声明后,跟的是异常类                        用在方法内,跟的是异常对象
表示抛出异常,由调用的调用者处理                 表示抛出异常,由当前方法处理
表示出现异常的可能性,不一定会出现              肯定抛出异常        


注意:
    方法定义上一但使用了throws,方法调用必须处理
    方法定义上一但使用了throws,表示当前方法可能会出现异常

自定义异常:
    格式:
        定义异常类 extends java自带异常类{
            无参
            有参(控制台的简短描述);
        }    
Object
    概述:
        Object是类层次的的顶级父类,每个类都可以将Object作为超类,所有的类都直接或间接继承该类
        只有一个无参构造 public Object(){}
        在之前的面向对象中,子类继承父类时,子类构造中默认调用父类的无参构造,因为它们最顶级父类Object只有无参构造

toString: ArrayList,int[]
equals:String,StringBuilder
无参构造:了解为什么子类默认调用父类无参构造


 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5709689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存