java学习中成员内部类小探索
来源:互联网 发布:白金数据结局 编辑:程序博客网 时间:2024/06/06 18:01
1、 内部类:将一个类定义在另一个类的内部就成了内部类;其实就是类定义的位置发生了变化。
2、 在一个类中,定义在类中的变量称为成员变量,定义在类中的函数称为成员函数(方法),那么根据类定义的位置也可以分为,成员内部类,局部内部类;PS:内部类产生的.class文件为“外部类&内部类”,这是为了表明内部类是属于哪个外部类的;
3、 成员内部类的访问方式:
1、 内部类可以直接访问外部类成员属性;
2、 外部类访问内部类成员属性时需要创建内部类的对象;
Outerj =new Outer();
Inner x = j.new Inner();
x.test();
或者是Outer.Inner x = new Outer().new Inner();
1、 在外部内的成员函数中创建内部类的对象,通过内部类对象直接访问内部类的成员
2、 在其他类中直接创建内部类对象;
3、 私有成员内部类特点:不能在其他类中直接创建内部类对象来访问(private修饰了成员内部类),不能在其他类中直接创建私有成员内部类的对象;
4、 当用static 修饰成员内部类的里面的成员的时候,内部类要用Static修饰,创建含有静态成员的内部类的对象的时候需要这样创建;(java规定内部类必须声明为静态的访问静态内部类的形式):
Outer.Inner x= newOuter.Inner();普通方法试过了,不行
一个有趣的问题:
当我们要在成员内部类中打印外部类的num时,在getNum方法中已经存在了两个This对象,我想我们之前学过,如果不声明打印的num,这时我们打印的应该是局部变量优先的值(全局变量中与局部变量名相同,以局部变量为优先),num值为2,所以此时num默认的的this为成员内部类的。
再次验证:num值为1;想要打印外部类的num变量,此时要区分this的所属类,此时this我们声明为外部类this,加上对应的类名标明this。
这时和我们讨论构造函数的this相同,当形参名和方法体里面的变量名相同时,也是同样的区分;
---------------------------------------------------------------------------------------------------------------------------------
- java学习中成员内部类小探索
- java 内部类中 static (内部类对象成员)
- java中内部类之成员内部类
- JAVA学习资料之成员内部类
- java成员内部类学习笔记
- java成员内部类等学习
- Java 成员内部类
- Java成员内部类
- java成员内部类
- java-成员内部类
- java成员内部类
- Java学习笔记_成员内部类,静态内部类,方法内部类
- JAVA中的内部类--成员内部类
- java 内部类(成员内部类)
- Java内部类之成员内部类
- java 内部类(成员内部类)
- java内部类之成员内部类、静态内部类
- java 成员内部类 局部内部类,匿名内部类
- C++ static关键字
- 卷积层感受野和坐标映射
- 转:Linux 环境使用vim搭建php IDE -- 提高代码编写数度数倍!手把手教你打造程序员的上古神器VIM!
- .gitignore详解
- Eclipse中通过FileSystemXmlApplicationContext读取不到配置文件问题
- java学习中成员内部类小探索
- Python 类型判断 变量存在判断 None与空字符串
- 回顾盒子模型之box-size属性
- java中的&与&&
- 大数据的解决方案--------读写分离
- Android微信支付集成流程及其常见错误
- java 图片叠加和文字添加,图片圆形处理
- 从输入一个url 到页面加载完成,这个过程发生了什么
- c++封装的卡尔曼滤波