成员内部类使用方法
package 内部类.成员内部类;
public class Outer {
private String name = "张三";
class Inner{
private String name = "李四";
public void show()
{
System.out.println(Outer.this.name);
System.out.println(name);
}
}
}
package 内部类.成员内部类;
import 内部类.成员内部类.Outer.Inner;
public class 成员内部类 {
public static void main(String[] args) {
//第一种方法
Outer a = new Outer();
Inner b = a.new Inner();
b.show();
//第二中方法
/*Inner b = new Outer().new Inner();
b.show();*/
}
}
静态内部类的使用方法
package 静态内部类;
public class Outer {
private String name = "小李";
static class Inner{
private String name = "小王";
private static int count = 1000;
public void show(){
Outer a = new Outer();
System.out.println(a.name);
System.out.println(name);
System.out.println(Inner.count);
}
}
}
package 静态内部类;
import 静态内部类.Outer.Inner;
public class Main {
public static void main(String[] args) {
Inner b = new Outer.Inner();
b.show();
}
}
局部内部类的使用方法
package 局部内部类;
public class Outer {
private String name = "小王";
public void show(){
String name1 = "小李";
class Inner{
private String name = "小杨";
public void show1(){
System.out.println(Outer.this.name);
System.out.println(name1);
System.out.println(name);
}
}
Inner b = new Inner();
b.show1();
}
}
package 局部内部类;
public class Main {
public static void main(String[] args) {
Outer a = new Outer();
a.show();
}
}
匿名内部类使用方法
只能用于父类或者接口