奇葩继承

 

package com;

class Test_extend0 {
	protected void say(){
		say("x");
	}
	protected void say(String s){
		System.out.println("Test_extend0");
	}
}

 class Test_extend1 extends Test_extend0{
	@Override
	protected void say(String s){
		System.out.println("Test_extend1"+s);
	}
}

 class Test_extend2 extends Test_extend1{
	   public void mySay(){
		  this.say();
	   }
}
 
public class Test_extend {
	public  static void main(String[] args){
		Test_extend2 test_extend2 = new Test_extend2();
		test_extend2.mySay();
	} 
}

  使用Ctrl+鼠标左键跟踪test_extend2.mySay()代码,最后到System.out.println("Test_extend0");实际运行结果为:System.out.println("Test_extend1"+s);

posted on 2015-09-02 15:18  陈福涛  阅读(153)  评论(0)    收藏  举报