【JAVA學習路-think in java】:在"不同包"中子類能夠調用protected及default

package pkg2;
import pkg.Base2;


public class Charpter6inPkg2Extend extends Base2{
	
	/*Charpter6inPkg2Extend objC=new Charpter6inPkg2Extend();
	 *NOT ALLOWED  Exception in thread "main" java.lang.StackOverflowError
	 */
	
	public static void  main(String[] args) {
		Base2 objB2=new Base2();
		//objB2.Base_method_protected();//not visible
		//objB2.defaultTypeMethod();//not visible
		
		Charpter6inPkg2Extend objC=new Charpter6inPkg2Extend();
		objC.Base_method_protected();//good news, VISIBLE
		//objC.defaultTypeMethod();//not visible
		
	}
	
	void function1() {
		Base2 objB2=new Base2();
		//objB2.Base_method_protected();//not visible
		//objB2.defaultTypeMethod();//not visible
		Charpter6inPkg2Extend objC=new Charpter6inPkg2Extend();
		objC.Base_method_protected();//good news, VISIBLE
		//objC.defaultTypeMethod();//not visible
	}	
}

output:

A Protected method from Base class
 

總結:

在子類定義中,在各函數/方法中生成的該子類的對象,該對象可以調用基類的protected數據/方法(default不行)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章