java内部类的做用

06内部类

内部类

内部类,即类内部的类。类中类。形式以下:java

public class Outter{  // 外部类
    class Inner{    // 内部类
        
    }
}

1. 理解内部类的做用

  1. 内部类能够很好的实现隐藏

    ​ 通常的非内部类,是不容许有 private 与protected权限的,但内部类能够学习

  2. 内部类拥有外围类的全部元素的访问权限
  3. 但是实现多重继承
  4. 匿名内部类优化接口

1)隐藏细节

​ 平时咱们对类的访问权限,都是经过类前面的访问修饰符来限制的,通常的非内部类,是不容许有 private 与protected权限的,但内部类能够,因此咱们能经过内部类来隐藏咱们的信息。这看起来没什么做用,可是当内部类实现某个接口的时候,在进行向上转型,对外部来讲,就彻底隐藏了接口的实现了。优化

2)能够无条件地访问外围类的全部元素

​ 内部类虽然和外部类写在同一个文件中, 可是编译完成后, 仍是生成各自的class文件,内部类经过this访问外部类的成员。this

3)能够实现多重继承

​ 这个特色很是重要,它是内部类存在的最大理由之一。正是因为他的存在使得Java的继承机制更加完善。你们都知道Java只能继承一个类,它的多重继承在咱们没有学习内部类以前是用接口来实现的。但使用接口有时候有不少不方便的地方。好比咱们实现一个接口就必须实现它里面的全部方法。而有了内部类就不同了。它可使咱们的类继承多个具体类或抽象类。code

4)经过匿名内部类来优化简单的接口实现

​ 有了匿名内部类,能够不须要定义一个新的类,而直接经过匿名内部类建立对象。对那些只是用一次的类是很是方便的事情。对象

相关文章
相关标签/搜索