首页 > 代码库 > java中匿名类的注意细节
java中匿名类的注意细节
abstract class Outer{ int num; public Outer(int x){ num = x; } public abstract void show1(); public abstract void show2();}public class PC{ public static void main(String[] args){ new Outer(55)//构造父类部分 //子类重写部分 { public void show1(){ System.out.println(num++); } public void show2(){ System.out.println(num++); } public void show3(){ System.out.println(num++); } }.show3(); Outer out = new Outer(55){ public void show1(){ System.out.println(num++); } public void show2(){ System.out.println(num++); } public void show3(){ System.out.println(num++); } }; out.show1(); out.show2(); //out.show3();// 错误: 找不到符号 out.show3(); //注意: 第一个 new Outer(55) 得到是 Outer 的子类对象! //第二个 new Outer(55)得到子类对象之后又进行了类型提升, 所以它会隐藏自身特有的方法,呈现其父类的属性! }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。