内部类

Posted gxlaqj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类相关的知识,希望对你有一定的参考价值。

内部类、方法内部类、局部代码块内部定义的类

(1)非静态内部类

class A
  class Inner
    //它的实例属于外部类
  

  • 非静态内部类对象,必须依赖于外部对象才能存在

  A a = new A();

  Inner i = a.new Inner();

  • 辅助外部对象,来封装局部的运算逻辑

 

(2)静态内部类

class A
  static class Inner
   //和外部类无关,可以直接创建实例
  
  • 和外部类无关,可以直接创建实例,他和一个普通的类没有区别
  • 静态内部类,可选
  • 两种类型,关系紧密时,可以选择静态内部类
  Inner i = new Inner();

(3)局部内部类

class A
  void f()
    class Inner()

    
  

 

(4)匿名内部类

Weapon w = new Weapon()...;

  • 大括号是匿名类
  • new 新建匿名类的实例
  • Weapon作为匿名类的父类型
  • 小括号super() ,super(参数数据)

 

以上是关于内部类的主要内容,如果未能解决你的问题,请参考以下文章

内部类

内部类

Java内部类详解(含:成员内部类局部内部类匿名内部类静态内部类)

一个java内部类有几个分类?

内部类之静态内部类

java内部类的匿名内部类