2 回答

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
這要看父類的【成員變量】和【方法】的訪問級別,例如: public class SubExample extends SuperExample { public int a = 5; public int getA(){ return super.a; } public static void main(String[] args) { SubExample s = new SubExample(); System.out.println("a = "+s.a); System.out.println("super.a = "+s.getA()); System.out.println(s.b); System.out.println(s.d); } } 由于子類中的a覆蓋了父類中的a,所以調用父類的a只能采用間接的方法,例如示例中的getA()方法。 若子類沒有變量與父類同名,則子類對象可以直接調用父類成員變量,例如:s.b就調用了父類的b變量。 調用父類方法同理。 在這里要注意:變量d,這是一個默認的訪問級別,只有子類和父類在一個包內(package)的情況,子類實例才可以調用父類的變量d
添加回答
舉報
0/150
提交
取消