内部类:

1、定义在一个类中的内部类,内部类的实例化伴随着外围类所定义的方法来构造,内部类对象有外围类的隐式引用,所以内部类可以直接访问外围类的外围类的域,包括私有的,这是内部类的访问特权,所以比常规类功能更加强大。

2、内部类可以对同一个包中的其他类隐藏起来,不过可以通过 OuterClass.InnerClass来引用public声明的内部类。

局部内部类:

1、内部类挪到方法内部,与内部类相比,局部内部类不仅可以访问定义他们的外部类,还可以并且仅可以访问声明为final的局部变量。

2、类名不能被public、private修饰,默认是default

3、作用域进作用于声明它的方法中,所以即使这个类的其他方法也不知道他的存在。

匿名内部类:

1、将内部类的类名省去,只创建这个类的对象,成为匿名内部类。

2、将想要定义一个回调函数,但是不想编写大量代码,可以考虑匿名内部类。

3、语法:

Class OuterClass{

    //外围类的域和方法...

   SuperType 对象名 =  new SuperType(construction params){//当SuperType是接口的时候,构造参数必须为空

     //内部类的域和方法...

     }

}

4、获得匿名内部类的方法: new Object().getClass().getEnclosingClass()

静态内部类:

1、内部类被static修饰,这样访问特权就没有了,当内部类不需要访问外围类的对象的时候,就定义为静态内部类。

接口中的内部类:

1、接口中的域默认是public static final的所以必须立即初始化,并且不能再被赋值,接口中定义的内部类也默认是public static的(方法都默认为public)

最新文章

  1. ios设备中openGL所支持的最大纹理尺寸
  2. C++多线程2
  3. C#对七牛云的操作
  4. Mysql权限
  5. MongoDB 备份(mongodump)恢复(mongorerstore) 导出 (Mongoexport) 导入( Mongoimport)
  6. 使用NPOI将数据库里信息导出Excel表格并提示用户下载
  7. MySQL半同步Semi-sync原理介绍【图说】
  8. Java之旅(一)---说说“异常”那些事
  9. HTML5 EventSource的用法
  10. C#中static void Main(string[] args) 参数详解
  11. 使用 LitJson 解析Json并读取数据
  12. LeetCode之“数学”:Happy Number
  13. [十七]JavaIO之CharArrayReader 和 CharArrayWriter
  14. Python实现代理模式
  15. Confluence 6 从其他备份中恢复数据
  16. Python3 与 NetCore 基础语法对比(Function专栏)
  17. PAT A1024 Palindromic Number (25 分)——回文,大整数
  18. 安卓开发笔记——ViewPager组件(仿微信引导界面)
  19. MTK framework系统默认设置
  20. vue项目webpack中Npm传递参数配置不同域名接口

热门文章

  1. angular.js_$scope
  2. Django: 之Apache、Nginx部署以及发送邮件
  3. CentOS 系统中安装postfix+dovecot+openwebmail <转>
  4. Android SERVICE后台服务进程的自启动和保持
  5. android手势感应预研
  6. BNUOJ 6038 - Reaux! Sham! Beaux!(模拟)
  7. 转:web_custom_request 和 web_submit_data的差别
  8. PHP文件夹操作
  9. 关联容器(map):支持高效查找的容器,一种键值对的集合。
  10. UITextField和UIViewConteoller