匿名内部类使用外部定义对象时

package example;

public class Demo {

    public A a(final String s){ //这里的参数引用必须是final,否则编译报错
        return new A(){
            private String name=s;        
            public String getname(){
                return name;        
            }
        };
        
    }
    
    public static void main(String[] args) {
        Demo d=new Demo();
        A a=d.a("张三");
        System.out.println(a.getname());
    }

}
abstract class A{
    private String name;
    public abstract String getname();
}
原文地址:https://www.cnblogs.com/xurui1995/p/5272944.html