Java内部类的使用总结

来源:互联网 发布:在linux用yum安装jdk 编辑:程序博客网 时间:2024/06/10 08:46

Java中内部类常见的用法如下:

  1. 内部类的创建
    内部类按名称可分为匿名内部类和一般内部类。
public interface A {    void printStr(String info);}public class B {    public A createA() {    //返回匿名内部类        return new A() {            @Override            public void printStr(String info) {                System.out.println(info);            }        };    }}

内部类按作用域的不同可分为静态内部类和非静态内部类。在创建非静态内部类时默认有一个外部类的引用,所以在创建内部类对象时必须要通过外部类的对象来创建。

 public class B {    class C implements A{        @Override        public void printStr(String info) {            System.out.println(info.toUpperCase());        }    }    public static void main(String[] args) {        B b = new B();        A a = b.new C();    }}
  1. 内部类的基本使用
    在代码编写过程中,如果遇到需要其它类辅助解决问题的情况,而需要创建的这个类只在本类中使用,就可以使用内部类。
    可以用内部类的方式间接的实现多重继承。
public class B {    class Extend1 extends Outer{        //....    }    class Extend2 extends Printer{        //...        public Extend2(String info) {            super(info);        }    }}