java的匿名内部类的使用
package com.hspedu;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
public class anonymousInnerClass {
public static void main(String[] args) {
Outer01 outer01 = new Outer01();
outer01.f1();
}
}
class Outer01 {
private int n1 = 1;
public void f1(){
//匿名内部类,相当于继承Person类的隐藏类,创建对象
Person person = new Person(){
private int n1 = 2;
@Override
public void hi(){
System.out.println("匿名内部类重写了方法hi n1="
+ n1 + " Outer01的n1= " + Outer01.this.n1);
}
};
person.hi();
//新的相当于继承Person的匿名类对象的创建
new Person(){
@Override
public void hi() {
System.out.println("第二个匿名内部类重写方法hi");
}
@Override
public void ok(String name) {
super.ok(name);
}
}.ok("jack");
}
}
class Person {
public void hi() {
System.out.println("Person类方法f2");
}
public void ok(String name){
System.out.println(name);
}
}