package com.ztt.Demo03;
import java.util.Arrays;
import java.util.Comparator;
public class test1 {
public static void main(String[] args) {
//创建Outer外部类对象
Outer o1=new Outer();
//创建Inner1内部类对象(普通内部类)
//必须借助一个外部类对象
// Outer.Inner1 o2=new Outer().new Inner1();
Outer.Inner1 o2=o1.new Inner1();
//创建Inner2内部类对象(静态内部类)
Outer.Inner2 o3=new Outer.Inner2();
//匿名内部类
String[] ns = {};
Arrays.sort(ns , new Comparator<String>() {
@Override
public int compare( String o1, String o2) {
return 0;
}
});
}
}
//外部类=>编译为Outer.class
class Outer{
private int value=6;
//内部类=>编译为Outer$Inner1.class
class Inner1{
//内部类中可以定义成员变量
private int value=5;
//内部类中可以定义构造方法
public Inner1(){
System.out.println("内部类Inner1中的value="+this.value);
System.out.println("内部类Outer中的value="+Outer.this.value);
}
}
//静态内部类=>编译为Outer$Inner2.class
static class Inner2{
}
}
运行结果:
内部类Inner1中的value=5
内部类Outer中的value=6
?