📄 outer.java
字号:
/*内部类的成员方法和外部类不会有冲突
*两个类在内存中都有自己的存储空间。
*/
/*
*内部类可以访问所在外部类的私有成员变量。。
*
*当我们建立一个inner class 时,其对象就拥有了与外部类对象之间的一种关系,
*这是通过一个特殊的this refer ence形成的,
*使得内部类对象可以随意的访问外部类中所有的成员。
*/
/*
*内部类也可以在方法、条件语句或语句块中定义,
*但是也只能在该方法、条件语句或语句块中使用。
*并且它可以随意访问外部类的成员变量。
*/
class Outer
{
private int index = 100;
class Inner
{
private int index = 50;
void print()
{
int index = 30;
System.out.println(index);
System.out.println(this.index);
System.out.println(Outer.this.index);
}
}
void print()
{
Inner inner = new Inner();
inner.print();
}
Inner getInner()
{
return new Inner();
}
}
class Test
{
public static void main(String[] args)
{
Outer outer = new Outer();
outer.print();
//直接访问内部类。
//在这看不到内部类,必须通过外部类来找到其内部类
//Outer.Inner inner = outer.getInner();
//inner.print();
//当这个main方法在上面的外部类里时,
//内部类则是可见的。
Outer.Inner inner = outer.new Inner();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -