内部类(inner class):是定义在另一个类中的类,使用内部类的原因有三点:一是,内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据,

但是外部类不能直接访问内部类的成员; 二是,内部类可以对同一个包中的其他类隐藏起来;三是,当需要定义个回调函数且不想编写

大量代码时,使用匿名内部类不叫好。

注意:内部类不依赖于外部类,内部类可用static、protected和private修饰,外部类只能用public和default(省略的)修饰。

   内部类的分类:成员内部类、静态内部类、局部内部类和匿名内部类

成员内部类:作为外部类的一个成员存在,与外部类的属性和方法并列。在内部类中访问实例变量:this.属性

在内部类访问外部类的实例变量:外部类名.this.属性。对于一个名叫Outer的外部类和名叫Inner的内部类,编译完成后出现Outer.class和

Outer$Inner.class两类。

建立内部类对象的时候要注意:在外部类的内部可以直接使用,Inner in=new Inner();

而在外部类的外部生成一个内部类对象,需要通过外部类对象生成。Outer.Inner in=new Outer().new Inner();

静态内部类:定义在类中,用static修饰。静态内部类可以直接访问外部类的静态成员,但是不能直接访问外部类的实例成员,可以通过外部类的实例来访问。

静态内部类可以定义静态成员,其他的内部类不可以。

生成一个静态内部类的对象:Outer.Inner in=new Outer.Inner()

局部内部类:在方法中定义的内部类,类似局部变量。声明局部内部类的时候不可加修饰符public、protected、private其范围为定义它的范围。可以访问外部类的

所有成员,此外,还可以访问所在方法中的final类型的参数和变量。我们特别注意的是在类外不可直接生成局部内部类,这是要保证局部内部类对外是

不可见的。要想使用局部内部类,需要生成对象,但是只能在方法中使用局部内部类。

 匿名内部类:它是一个特殊的局部内部类,局部内部类的特性对它都适用。它没有类名,它是用一种隐含的方式实现一个借口或继承一个类。它没有构造方法。它一

定在new的后面。

转载于:https://www.cnblogs.com/crearo-ssy/archive/2012/05/02/2479359.html

13.Java核心技术—内部类相关推荐

  1. java核心技术卷I 第1-3章 笔记

    java核心技术卷I 第1-3章 本书将详细介绍下列内容: ● 面向对象程序设计 ● 反射与代理 ● 接口与内部类 ● 异常处理 ● 泛型程序设计 ● 集合框架 ● 事件监听器模型 ● 使用Swing ...

  2. java 13个核心技术3

    前端时间由于软考的原因,已经开始了j2se的学习,马士兵老师带我们走进了java的世界.最近在学习j2ee的过程中,了解到java的13个核心技术,于是先来个宏观的了解吧. 其实java的大方向就是j ...

  3. java 13种技术_JavaEE的13种核心技术

    Java的大方向就是JavaEE,JavaEE不仅仅是socket编程,具体包括13中核心技术. JavaEE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于We ...

  4. 13种Java核心技术

    Java13种核心技术 JAVA最初是在浏览器和客户端机器中粉墨登场的.当时,很多人质疑它是否适合做服务器端的开发.现在,随着对JAVA2平台企业版(J2EE)第三方支持的增多,JAVA被广泛接纳为开 ...

  5. Java核心技术第一周学习总结

    第三章:Java的基本程序设计结构 一.基本数据类型 列举 byte(字节型).short(短整型).int(整型).long(长整型).float(单精度浮点型).double(双精度浮点型).bo ...

  6. 《Java核心技术 卷Ⅰ》读书笔记一

    Java核心技术·卷 I(原书第10版) 作者: [美] 凯.S.霍斯特曼(Cay S. Horstmann) 出版社: 机械工业出版社 原作名: Core Java Volume I - Funda ...

  7. Java核心技术·卷I(原书第12版)

    内容介绍... 随着Java的发展,<Java核心技术>从第1版到第11版一路走来,受到了广大Java程序员的青睐,成为最畅销的Java经典书籍. 这本书已经过彻底的修改,涵盖了Java ...

  8. Java核心技术(一)

    Java核心技术(一) 前言 <Java 核心技术>第 10 版增加了 Java 8 的相关内容,最新版为第 11 版.文章目录与书籍目录一致,仅以此作为书籍第 10 版学习的笔记,非零基 ...

  9. java核心技术精讲-李兴华-专题视频课程

    java核心技术精讲-101993人已学习 课程介绍         本课程主要读者全面细致的讲解Java编程的所有核心知识,从基础语法.到面向对象以及Java的实际应用进行完整讲解.官方QQ群:61 ...

最新文章

  1. #用construct2做游戏
  2. mysql clob转string_Java获取Oracle中CLOB字段转换成String
  3. mysql 安装 utf8mb4_mysql 安装和修改编码(utf8mb4)
  4. python访问数据库
  5. oracle undo表空间缩小,缩小undo表空间全记录
  6. 有哪些让人相见恨晚的Python库(一)
  7. 超级外链工具_慈溪SEO优化_豆瓣外链:豆瓣小组做外链的注意事项?
  8. Spring整合ActiveMQ之嵌入(二)
  9. 集成计划排程计划以及管控体系的几个特征
  10. 用函数调用的方法输出乘法口诀表
  11. Cannot load module file xxx.iml Intellij
  12. linux运行tomcat常见问题,linux – tomcat运行,但是8080端口没有响应
  13. 隐马尔可夫模型及其基本假设
  14. qtcpserver无法启动监听_EOS基础全家桶(四)启动节点
  15. latex参考文献顺序不对_Latex-引用文献按引用顺序排号
  16. 学校实训 电力巡检系统管理平台
  17. MySQL完全卸载教程
  18. 生鲜电商带火冷链物流,中、圆、申三通如何拼了命地排兵布阵
  19. dz论坛php如何使用html模板,discuz自定义模板制作方法
  20. 电容触摸技术实用教程

热门文章

  1. 国人的发明:鲁班语言
  2. 计算机科学 第四次,计算机科学与技术第4次上机实验(25页)-原创力文档
  3. 经济师考计算机英语考试,中级经济师考试合格算获得中级职称吗?需要考英语和计算机吗?...
  4. 如何解决VHDL中参数化赋值:赋全0、全1、全z
  5. Verilog中testbench的设计,文件读取和写入操作
  6. CDMA核心技术专利人是谁?
  7. Excel数组公式从入门到精通之精通篇
  8. 图解yolo目标检测如何进行运动估计
  9. 使用vlc播放m3u8网络视频教程
  10. PHP生成PDF并转换成图片爬过的坑