public class Outer {
// 成员内部类中,不能定义静态成员
// 成员内部类中,可以访问外部类的所有成员
class Inner {
// static int inner_i = 100; //内部类中不允许定义静态变量
int inner_i = 1;
void innerPrint() {
System.out.println("内部类函数执行");
}
}
}
//调用
public class Test {
public static void main(String[] args) {
Outer outer = new Outer();
outer.new Inner().innerPrint();
}
}
静态内部类
静态内部类(嵌套类):(注意:前两种内部类与变量类似,所以可以对照参考变量)
public class Outer {
static class Inner1 {
void innerPrint() {
System.out.println("静态内部类函数执行");
}
}
}
//调用
Outer.Inner1 inner1 = new Outer.Inner1();
inner1.innerPrint();
public class Outer {
public void jubu() {
class jubuInner implements InnerInterface {
@Override
public void print() {
System.out.println("局部内部类");
}
}
new jubuInner().print();
}
}
}
//调用
public static void main(String[] args) {
Outer outer = new Outer();
outer.jubu();
}
public class Outer {
public void niming() {
new InnerInterface() {
@Override
public void print() {
System.out.println("匿名内部类执行");
}
}.print();;
}
}
//调用
public static void main(String[] args) {
Outer outer = new Outer();
outer.niming();
}