码迷,mamicode.com
首页 > 其他好文 > 详细

内部类

时间:2019-08-28 01:13:23      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:存在   外部类   code   void   类型   封装   nbsp   on()   逻辑   

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

(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(参数数据)

 

内部类

标签:存在   外部类   code   void   类型   封装   nbsp   on()   逻辑   

原文地址:https://www.cnblogs.com/gxlaqj/p/11421472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!