JAVA内部类小结
内部类的概念:定义在其他类里面的类叫做内部类,包含内部类的类叫做外部类;
内部类的作用:内部类主要是用来描述一个事物存在于另一个事物里面,依赖于外部事物存在的;
内部类的格式:

内部类的分类:
成员内部类
非静态成员内部类:
1、非静态成员内部类必须依赖于外部类的对象使用,所以:
A、非静态内部类中不能定义静态成员,除非是常量变量;
B、在外部类的非静态函数中可以直接创建内部类的对象;
C、在外部类的静态函数中和外部类以外的类中都不能直接创建内部类对象,需要先创建外部类对象,然后通过外部类对象创建内部类对象;
2、在内部类中,可以直接使用外部类的所有成员;
3、如果内部类中定义了和外部类中一样的成员,优先使用内部类中的;要使用外部类中的成员,可使用 外部类类名.this.成员 的方式;
静态成员内部类:
1、静态内部类和外部类的对象无关,仅仅表示内部类和外部类的位置关系是嵌套关系,所以又被称为嵌套类;
2、静态成员内部类中可以书写所有成员;
3、外部类使用静态内部类,访问静态成员可以通过类名直接访问,访问非静态成员需要通过内部类对象访问;
4、静态内部类可以直接使用外部类的静态成员;非静态成员,需要通过外部类对象使用;
5、外部类以外的类要使用静态内部类的成员,和使用一般类一样,只是需要在类名前面加上外部类类名,表示内部类是外部类的成员;
私有成员内部类:
成员内部类作为外部类的成员,也可以使用访问权限修饰符修饰,如果使用private修饰,成员内部类就成为私有成员内部类,只能在外部类里面使用,不能在外部类以外的类中使用;
局部内部类
1、定义在函数里面的类叫做局部内部类;
2、在局部内部类中不能定义静态成员,除非是常量变量;
3、局部内部类只能在定义它的函数中使用,随着定义它的函数的执行而执行;
4、在非静态函数中的局部内部类,可以直接使用外部类的静态和非静态成员;
5、在静态函数中的局部内部类,就只能直接使用外部类的静态成员;要使用非静态成员,需要创建外部类的对象;
6、在局部内部类中要使用定义它的函数中的变量,需要将这个变量声明为final的;
匿名内部类:
当要使用一个类的子类(或接口的实现类)时,如果这个子类(或者实现类)只会使用一次,就没必要专门定义一个类出来,可以使用匿名内部类的方式调用;
匿名内部类的格式:
new 类名(){}:表示创建这个类的一个子类的对象;
new 接口名(){}:表示创建这个接口的一个实现类的对象;
JAVA内部类小结的更多相关文章
- Java内部类的使用小结
转载:http://android.blog.51cto.com/268543/384844/ Java内部类的使用小结 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可 ...
- (转载)Java内部类的使用小结
原文摘自:http://android.blog.51cto.com/268543/384844/ 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可以是静态stati ...
- java 内部类 *** 最爱那水货
注: 转载于http://blog.csdn.net/jiangxinyu/article/details/8177326 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又 ...
- Java内部类final语义实现
本文描述在java内部类中,经常会引用外部类的变量信息.但是这些变量信息是如何传递给内部类的,在表面上并没有相应的线索.本文从字节码层描述在内部类中是如何实现这些语义的. 本地临时变量 基本类型 fi ...
- Java内部类详解
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就 ...
- 黑马----JAVA内部类
黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA内部类 一.内部类分为显式内部类和匿名内部类. 二.显式内部类 1.即显式声明的内部类,它有类名. 2.显 ...
- Java中文编码小结
Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...
- java内部类和匿名内部类
内部类即是包含在类里面的又一个类. java内部类分为: 成员内部类.静态嵌套类.方法内部类.匿名内部类 . 内部类的共性 (1).内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.clas ...
- Java内部类小程序(成员内部类,静态内部类,匿名内部类)
/** * 测试java内部类(成员内部类,静态内部类,匿名内部类) * 局部内部类不常用,就不写了. * @package :java05 * @author shaobn * @Describe ...
随机推荐
- Android中AsyncTask的使用
原文 https://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask. ...
- jQuery webcam plugin
jQuery webcam plugin The jQuery webcam plugin is a transparent layer to communicate with a camera di ...
- 【UFUN开发板评测】小巧而不失精致,简单而不失内涵——uFun开发板开箱爆照
关于uFun学习板--"满满的爱和正能量" uFun是由@张进东 张工组织发起的一个开源的学习板,设计初衷是为了帮助学生更好的理解电子知识和开发技巧,同时又能对学生毕业找工作有很明 ...
- item 12: 把重写函数声明为“override”的
本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 C++中的面向对象编程总是围绕着类,继承,以及虚函数.这个世界中, ...
- CSS 字体(font)实例
CSS 字体(font)实例CSS 字体属性定义文本的字体系列.大小.加粗.风格(如斜体)和变形(如小型大写字母).CSS 字体系列在 CSS 中,有两种不同类型的字体系列名称: 通用字体系列 - 拥 ...
- Aop笔记
参考: https://blog.csdn.net/bombSKLK/article/details/79143145 示例 拦截的 注解的方法 @Around("@annotation(c ...
- 1013 C. Photo of The Sky
传送门 [http://codeforces.com/contest/1013/problem/C] 题意 输入一个n代表n颗星星,输入2n个数,其中任意两个数代表一颗行星的坐标,问你把n个星星围起来 ...
- 《Linux内核设计与实现》第三章学习笔记
第三章 进程管理 姓名:王玮怡 学号:20135116 一.进程 1.进程的含义 进程是处于执行期的程序以及相关资源的总称,程序本身并不是进程,实际上就是正在执行的代码的实时结果.Linux内核通 ...
- ELF分析 实践
分析ELF文件: 首先编写一个.c文件,并使用gcc -c xx.c -o xx.o 对其进行编译. 我在这个实践中是ELF_1.o文件. 接下来输入ls -l ELF_1.o 查看重定位文件的信息. ...
- ☆C++学习心得
C++是我进大学的学的第一种编程语言,在高中的时候有电脑课,有教过部分的VB语言,所以其实对编程也并不是非常的陌生,刚开是上课也觉得感觉不难,都懂,没多少课后,恍了个神..居然听不懂了!老师经常让我们 ...