public class outer {
int num = 10;
private int a = 20;
class Inner {
int aa = 1;
public void innnerShow() {
System.out.println("内部类方法");
System.out.println(num);
System.out.println(a);
waiShow();
waiTest();
}
}
public void waiShow() {
System.out.println("外部类的方法");
}
private void waiTest() {
System.out.println("外部类的私有方法");
}
}
class test {
public static void main(String[] args) {
outer.Inner aa = new outer().new Inner();
aa.innnerShow();
}
}
* 通过接口的方式创建匿名内部类
interface Inter {
public abstract void show();
}
//在外部类Outer的method()方法中,创建匿名内部类
public class Outer {
public static void main(String[] args) {
new Inter(){
@Override
public
void show() {
System.out.println("哈哈哈哈哈哈哈哈");
}
}.show();
}
}
interface Inter {
public abstract void show();
}
* 通过抽象类的方式创建匿名内部类
public class Outer {
public void method(){
new AbstractClass(){
@Override
public void show() {
System.out.println("嘻嘻嘻嘻嘻嘻嘻");
}
}.show();
}
public static void main(String[] args) {
Outer outer = new Outer();
outer.method();
}
}
abstract class AbstractClass {
public abstract void show();
}