java接口、内部类、异常

  • 接口
    1. 接口中定义的所有变量,只能是public static final的。
    2. 接口中定义的所有方法只能是public abstract的。
    3. 抽象类的目的是为了复用,接口的目的是为了规范或者说执行约束。
    4. 接口多适用于多态的状况下。
    5. 如果要实现一个接口必须实现该接口下定义的所有方法(抽象方法),除非该类被明确的声明为abstract类型。
    6. 接口设计的过程中,接口功能要单一,适合小,不适合大。
  • 内部类
    1. 内部类是定义到一个类的内部的类
    2. 静态内部类(Static inner class),静态内部类只能访问外部类的静态方法和静态属性。实例化静态内部类的方式:Outer.StaticInnerClass staticInnerClass = new Outer.StaticInnerClass();
    3. 实例内部类(Instance Inner class),实例内部类可以访问外部类的静态属性和实例属性,无论是public,protected还是private的都可以。如果内部类要访问外部类中和内部类定义的属性相同属性采用:外部类.this.属性名的方式。实例内部类的初始化方式:Outer.InstanceInnerClass InstanceInnerClass = new Outer().new InstanceInnerClass();
    4. 任何类型的内部类,jvm在编译的时候都会把外部类的this给传递过去。
    5. 局部内部类(Local inner class),局部内部类定义在一个类的方法中,只能用abstract,final修饰符修饰,不能使用private,public,protected等修饰符。局部内部类要访问该内部类定义的方法中的局部变量的时候被调用的局部变量要为final类型。局部内部类由于在方法中,调用方式采用外部类方法调用的手段。
    6. 匿名内部类(Anony mous inner class),该类没有类名,并且必须实现一个接口或者继承另外一个类。匿名内部类访问定义该内部类的方法的变量的时候,该变量也要为final类型。
  • 异常
    1. 异常是指程序运行过程中或者说编译过程中出现的不正常状态。异常分为checked异常和unchecked异常,checked的异常意味着编译器在编译的时候要进行检查,不进行处理的话,无法编译通过;unchecked异常指的是由于业务逻辑处理不完善而引起的问题,编译器不会进行特别的检查,但是如果不进行处理,我们的程序会不够健壮。
    2. 异常处理。尝试执行try里面的语句块,如果说某一行出现了特定的异常,则执行catch该异常或者说该异常父类的语句块。不管try语句块里面有没有出现异常,finally语句都会执行,一般我们会在finally语句块中进行程序的收尾工作;可以只有try catch结构,也可以只有try finally结构。
    3. throws关键字,放到方法声明的后边,表示该自己处理的异常自己不想处理,抛出去由调用该方法的其他人处理。以此类推。如果中间所有参与方法调用的方法都没有处理,那么最终JVM必须处理。
    4. 自定义异常通过继承Exception类或者Throwable类来实现。只需要重写构造方法即可。调用的时候通过在调用方法中throw一个自定义的异常即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值