class Normal { public void start() { System.out.println("S"); } } public class text { public static void main(String[] args) { new Normal(){ public void func(){ System.out.println("do without name"); }; public void func1(){ System.out.println("func1 do without name"); } }.func1(); } }
在new 类名()后大括号内的内容均为匿名子类的内容,可以重写或扩充父类的方法
如果要调用重写的方法,用声明的实例名调用即可
如果要调用扩充的方法,需要用上述代码块的方式,实例化匿名类再定义匿名子类再调用,否则编译器会报错
此方法常用于仅调用单个方法时简化代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)