• 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)得到子类对象之后又进行了类型提升, 所以它会隐藏自身特有的方法,呈现其父类的属性!
    	}
    }
    

      

  • 相关阅读:
    计算机存储单位
    TcpListener、TcpClient
    JobConf
    JobClient
    python正则方法
    c#列表操作
    C#解析xml
    C#字符串操作函数
    Binding
    Name和:Name
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/3872636.html
Copyright © 2020-2023  润新知