java中匿名类的注意细节

简介: abstract class Outer{ int num; public Outer(int x){ num = x; } public abstract void show1(); public abstract void show2(); } ...
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)得到子类对象之后又进行了类型提升, 所以它会隐藏自身特有的方法,呈现其父类的属性!
	}
}

  

目录
相关文章
|
6天前
|
Java
Java一分钟之-Java内部类与匿名类
【5月更文挑战第12天】本文介绍了Java的内部类和匿名类,包括成员内部类和局部内部类,以及匿名类的一次性子类实现。通过代码示例展示了它们的使用方法,同时提到了常见问题和易错点,如混淆内部类与嵌套类、匿名类的生命周期管理及内部类的访问权限,并给出了相应的避免策略。理解这些概念有助于提升代码质量。
17 3
|
6天前
|
Java
什么是Java匿名类?
【4月更文挑战第16天】
43 9
什么是Java匿名类?
|
6天前
|
Java
java匿名类和匿名函数
java匿名类和匿名函数
52 0
|
10月前
|
Java 定位技术 Android开发
Java的内部类和匿名类 , 您了解过吗?
Java的内部类和匿名类 , 您了解过吗?
|
Java 编译器
带你深入学习java内部类_匿名类,细到不能再细~
带你深入学习java内部类_匿名类,细到不能再细~
237 0
带你深入学习java内部类_匿名类,细到不能再细~
|
Java
Java中匿名子类 的 匿名对象、匿名子类 的 非匿名对象、非匿名类 的 匿名对象、非匿名类 的 非匿名对象
Java中匿名子类 的 匿名对象、匿名子类 的 非匿名对象、非匿名类 的 匿名对象、非匿名类 的 非匿名对象
193 0
|
Java
java匿名类和匿名对象及this的其他用法
/* 匿名内部类:就是内部类的简写格式。 必须前提:内部类必须继承或者实现一个类或者接口。 匿名内部类其实就是一个匿名 子类对象。 格式:new 父类对象 or 接口(){ 子类内容;(覆盖父类的, 而且可以增加自己的方法) }//相当于将 继承父类 和 new 的过程 写到...
808 0