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不行)。