Files
javaSE-0113/day11/src/com/inmind/innerclass03/MemberOutClass.java

49 lines
1.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.inmind.innerclass03;
/*
内部类将一个类A定义在另一个类B里面里面的那个类A就称为内部类B则称为外部类。
分类:
1.成员内部类:(类中方法外)
2.局部内部类:(方法中)
匿名内部类(重点)
-------------------------------------------------------
成员内部类的定义(写在成员位置)
public class 外部类名{
int i = 0;
public class 内部类名{
}
}
成员内部类中内容访问的注意事项:
1.内部类是可以直接使用外部类的成员变量
2.外部类要使用内部类的内容,必须通过创建内部类的对象
3.内部类访问外部类同名变量:必须使用外部类名.this.变量名如OuterClass.this.value
*/
public class MemberOutClass {
//成员变量
private int num = 10;
private int num1 = 40;
//成员位置处,定义一个类,就是成员内部类
public class InnerClass{
int num = 20;
int num2 = 30;
public void innerMethod(){
System.out.println(MemberOutClass.this.num1);
System.out.println(this.num);
System.out.println(this.num2);
System.out.println(MemberOutClass.this.num);
System.out.println("成员内部类的innerMethod方法执行了");
}
}
//成员方法
public void outerMethod(){
System.out.println("外部类的outerMethod执行");
//创建成员内部类的对象,调用它的属性和行为
InnerClass innerClass = new InnerClass();
System.out.println(innerClass.num);//20
System.out.println(innerClass.num2);//30
innerClass.innerMethod();
}
}