内部类,java内部类的四大作用

在java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。

inner class 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。

inner class的名字不能与包含它的类名相同

inner class可以使用外部类的私有数据,因为它是外部类的成员,同一个类的成员之间可互相访问。而外部类要访问内部类中的成员需要:内部类.成员或者内部类对象.成员。

分类:成员内部类(static成员内部类和非static成员内部类)

局部内部类(不谈修饰符)、匿名内部类

内部类特性

可以声明为final的。

和外部类不同,inner class可声明为private或protected。

inner class可以声明为static的,但此时就不能再使用外层类的非static的成员变量。

inner class作为类:

可以声明为abstract类,因此可以被其它的内部类继承。

非static的内部类中的成员不能声明为static的,只有在外部类或者static的内部类中才可声明static成员。

内部类有什么用?

内部类主要是解决java不能多重继承的问题。可以使用内部类来变相的实现类的多重继承,可以同时继承多个类。

相关文章暂无相关文章

java 内部类 作用,内部类,java内部类的四大作用相关推荐

  1. 服务器存储的作用和用途,存储服务器有四大作用你都清楚吗?

    原标题:存储服务器有四大作用你都清楚吗? 许多人都听说过存储服务器,但许多人理解这样的服务器是为了给服务器添加一些功能,甚至称它为一个简单的盒子.且不说这样的理解是不是正确的,但是这样的服务器是为特定 ...

  2. java内部类的四大作用

    一.内部类的作用 我们为什么需要内部类?或者说内部类为啥要存在?其主要原因有如下几点: 内部类方法可以访问该类定义所在作用域中的数据,包括被 private 修饰的私有数据 内部类可以对同一包中的其他 ...

  3. java基础(十三)-----详解内部类——Java高级开发必须懂的

    java基础(十三)-----详解内部类--Java高级开发必须懂的 目录 为什么要使用内部类 内部类基础 静态内部类 成员内部类 成员内部类的对象创建 继承成员内部类 局部内部类 推荐博客 匿名内部 ...

  4. Java的知识点14——内部类的概念、内部类的分类

    内部类的概念 一般情况,我们把类定义成独立的单元.有些情况下,我们把一个类放在另一个类的内部定义,称为内部类(innerclasses). 内部类可以使用public.default.protecte ...

  5. java - 抽象类、接口、内部类

    2019独角兽企业重金招聘Python工程师标准>>> 作者:egg 微博:http://weibo.com/xtfggef 出处:http://blog.csdn.net/zhan ...

  6. Java编程笔记7:内部类

    Java编程笔记7:内部类 图源:PHP中文网 所谓的内部类,其实就是定义在类中的类.这和Java编程笔记6:接口 - 魔芋红茶's blog (icexmoon.xyz)中提到的接口嵌套的方式有点相 ...

  7. Java篇第七回——内部类与异常类

    一.内部类 我们在谈到某一个场所,比如说剧场时,我们更加关注这个剧场中有哪些角儿,我们在提到剧场时也经常会把角儿们顺带脚提出来.在Java中也有这种逻辑,我们希望在声明一个剧场类时,这个剧场就已经有了 ...

  8. java继承a mya new c,“内部类” 大总结(Java),内部类总结java

    "内部类" 大总结(Java),内部类总结java (本文整理自很久以前收集的资料(我只是做了排版修改),作者小明,链接地址没有找到,总之感谢,小明) 内部类的位置: 内部类可以作 ...

  9. java内部类写法_Java学习-内部类

    一.概念 内部类:在一个类的内部定义的一个类: 分类: 可以分为 成员内部类.局部内部类.匿名内部类和静态内部类: <Think in java>): 1.内部类可以用多个实例,每个实例都 ...

最新文章

  1. 十年老码农吐血经验:跳槽千万不能选高年终低base的公司,超过15薪就要慎重!...
  2. hdu1358 最小循环节,最大循环次数 KMP
  3. **52.常用的存储保护方法有哪些?
  4. 在SqlServer中把多个job生成一个sql脚本
  5. ASP.NET 应用程序遭遇Server Application Unavailable问题的解决的方法
  6. Activiti 简易教程
  7. linux set权限,Linux 特殊权限set_uid(示例代码)
  8. linux从源码编译软件,linux软件源码的编译安装
  9. 揭秘阿里机器翻译团队:拿下5项全球冠军,每天帮商家翻译7.5亿次
  10. 奖金福利高达20亿,华为太太太太太任性了!
  11. “3D几何与视觉技术”全球在线研讨会(9月2日到12月16日)
  12. LINUX国产操作系统还缺少些什么?
  13. pythonexcel计算横列总和-在python中,如何在字典中找到值的总和?每个键都有多个值...
  14. VC中CListCtrl设置滚动条在最下边的方法(MSDN中的例子)
  15. java合并2个txt文本,Java实现多个文档合并输出到一个文档
  16. git使用时报错:fatal: unable to access ‘xxx‘ : Failed to connect to github.com port 443 after: 【Time out】
  17. 龙芯2f笔记本安装gentoo
  18. 三角函数 弧度角度换算
  19. Autodesk AutoCAD 2013 简体中文版下载
  20. oracle中常使用到的函数,Oracle经常使用到的函数

热门文章

  1. STM32工作笔记0074---UCOSIII 任务管理(中)
  2. Web前端工作笔记009---IE8兼容_new Date兼容方法
  3. 提交spark任务偶尔报错 org.apache.spark.SparkException: A master URL must be set in your configuration
  4. NS-仿真实验--FTP
  5. 嵌入式电路设计(第一个商业pcb电路图绘制)
  6. 随想录(学习消费类soc芯片)
  7. 随想录(编译器是怎么工作的)
  8. 随想录(读书和选书)
  9. centos7 文本编辑 不能移动光标_【200905】Linux系统的使用基础(CentOS 7)
  10. c语言删除字符串s中与c相同的字符串,看不懂这段c语言代码的思路,目的是删除字符串1中与字符串2相同的字符...