成员内部类
来源:互联网 发布:java中的initcause方法 编辑:程序博客网 时间:2024/06/16 04:34
内部类的类别:
1.成员内部类:
成员内部类的访问方式:
方式1:在外部类提供一个方法创建内部类的对象进行访问。
方式2:在其他类直接创建内部类的对象。格式:外部类.内部类 变量名 = new 外部类().new 内部类();
注意:如果是一个静态内部类,那么在其他类创建的格式:
外部类.内部类 变量名 = new 外部类.内部类();
内部类的应用场景:我们描述的A事物的时候,发现描述的A事物内部还存在另外一个比较复杂的B事物,而且这个比较复杂的事物B还需要访问A事物的属性等数据,那么这个时候我们就可以使用内部类描述B事物。
比如:人 --> 心脏
class 人{
血
氧气
等...
class 心脏{
}
}
内部类的好处:内部类可以直接访问外部类的所有成员。(例如:Iterator的迭代功能,内部类Itr能直接访问集合中的数据)
内部类要注意的细节:
1.如果外部类与内部类存在同名的成员变量时,在内部类中默认情况下是访问内部类的成员变量可以通过“外部类.this.成员变量名”指定访问外部类的成员.
2.私有的成员内部类只能在外部类提供一个方法创建内部类的对象进行访问,不能在其他类创建对象。
3.成员内部类一旦出现了静态的成员,那么该类也必须使用static修饰。
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年6月12日20:53:39
* Desc:内部类:一个类定义在另外一个类的内部,那么该类就称作为内部类
内部类的class文件名:外部类$内部类。好处:便于区分该class属于哪个外部类的
内部类的类别:
1.成员内部类:
成员内部类的访问方式:
方式1:在外部类提供一个方法创建内部类的对象进行访问。
方式2:在其他类直接创建内部类的对象。格式:外部类.内部类 变量名 = new 外部类().new 内部类();
注意:如果是一个静态内部类,那么在其他类创建的格式:
外部类.内部类 变量名 = new 外部类.内部类();
内部类的应用场景:我们描述的A事物的时候,发现描述的A事物内部还存在另外一个比较复杂的B事物,而且这个
比较复杂的事物B还需要访问A事物的属性等数据,那么这个时候我们就可以使用内部类描述B事物。
比如:人 --> 心脏
class 人{
血
氧气
等...
class 心脏{
}
}
内部类的好处:内部类可以直接访问外部类的所有成员。
内部类要注意的细节:
1.如果外部类与内部类存在同名的成员变量时,在内部类中默认情况下是访问内部类的成员变量
可以通过“外部类.this.成员变量名”指定访问外部类的成员.
2.私有的成员内部类只能在外部类提供一个方法创建内部类的对象进行访问,不能在其他类创建对象。
3.成员内部类一旦出现了静态的成员,那么该类也必须使用static修饰。
原因:
2.局部内部类:
*/
//外部类
class Outer{
static int i = 100;//成员变量 Outer.class文件被加载到内存的时候存在内存中。静态的成员数据是不需要对象存在才能访问。
//成员内部类
static class Inner{//内部类的class文件名:外部类$内部类。好处:便于区分该class属于哪个外部类的
int j = 10;
static int i = 200;
//int i = 200;
public void print(){
System.out.println("这个是成员内部类的print方法" + this.i);
}
}
//在外部的方法中创建了内部类的对象,然后调用内部方法
public void instance(){
Inner inner = new Inner();
inner.print();
}
}
//其他类
class Demo59
{
//内部类的class文件名:外部类$内部类。好处:便于区分该class属于哪个外部类的
class Inner
{
}
public static void main(String[] args){
System.out.println(Outer.Inner.i);
/*
Outer outer = new Outer();
outer.instance();
Outer.Inner inner = new Outer().new Inner();
inner.print();
*/
Outer.Inner inner = new Outer.Inner();
}
}
0 0
- 成员内部类、成员静态内部类
- Java 成员内部类
- Java成员内部类
- java成员内部类
- 成员内部类
- 成员内部类
- java-成员内部类
- 成员内部类
- 成员内部类
- java成员内部类
- 成员内部类
- 成员内部类和静态内部类
- JAVA中的内部类--成员内部类
- java 内部类(成员内部类)
- 静态内部类与成员内部类
- 成员内部类(实例内部类)
- Java内部类之成员内部类
- java 内部类(成员内部类)
- TI-RTOS 内核概述,开发蓝牙功能必须要熟悉的实时操作系统
- go语言选择语句 switch case
- Stereo Matching文献笔记之(八):《On Building an Accurate Stereo Matching System on Graphics Hardware》读后感~
- a标签的伪类选择器
- 从前端获取ID时,出现前缀怎么办
- 成员内部类
- Leetcode 124. Binary Tree Maximum Path Sum
- L1-010. 比较大小 Java
- SpringMVC--面试知识点
- laravel 的 intervention-image 图像处理笔记
- linux之vim/vi快速复制多行内容的快捷键
- 【整理】C语言从源码看字符串函数
- php高级工程师面试
- 如何选择更优质的IDC机房?