day11-成员内部类的概述和使用
This commit is contained in:
10
day11/src/com/inmind/member_innerclass06/Demo05.java
Normal file
10
day11/src/com/inmind/member_innerclass06/Demo05.java
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
package com.inmind.member_innerclass06;
|
||||||
|
/*
|
||||||
|
内部类:将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。
|
||||||
|
分类:
|
||||||
|
1.成员内部类:(类中方法外)
|
||||||
|
2.局部内部类:(方法中)
|
||||||
|
匿名内部类(重点)
|
||||||
|
*/
|
||||||
|
public class Demo05 {
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.inmind.member_innerclass06;
|
||||||
|
/*
|
||||||
|
成员内部类的定义(写在成员位置)
|
||||||
|
public class 外部类名{
|
||||||
|
int i = 0;
|
||||||
|
public class 内部类名{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
成员内部类中内容访问的注意事项:
|
||||||
|
1.内部类是可以直接使用外部类的成员变量
|
||||||
|
2.外部类要使用内部类的内容,必须通过创建内部类的对象
|
||||||
|
3.在内部类中不能使用static修饰,跟内部类的生命周期有关(JDK17之前不行!!!)
|
||||||
|
4.内部类访问外部类同名变量:必须使用外部类名.this.变量名(如OuterClass.this.value)
|
||||||
|
|
||||||
|
*/
|
||||||
|
public class Member_Outer_Class {
|
||||||
|
int i = 10;//成员变量
|
||||||
|
//成员内部类
|
||||||
|
public class InnerClass{
|
||||||
|
static int value = 30;
|
||||||
|
int innerI = 20;
|
||||||
|
int i = 20;
|
||||||
|
public void innerMethod(){
|
||||||
|
System.out.println(value);
|
||||||
|
System.out.println(i);
|
||||||
|
System.out.println(Member_Outer_Class.this.i);
|
||||||
|
System.out.println(innerI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void method(){
|
||||||
|
InnerClass innerClass = new InnerClass();
|
||||||
|
InnerClass.value = 50;
|
||||||
|
innerClass.innerMethod();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user