我是java的初學者。這是我的代碼如何使用超類的實例訪問子類的重載變量
class Super{
public int a;
}
class sub extends Super{
int a = 10;
}
public class test{
public static void main(String args[]){
Super var = new sub();
System.out.println(var.a);//Here I want to print 10 , value of sub class
}
}
是否有可能,如果是的話請告訴我怎麼做? 我對這個問題的標題有些問題,所以請給我一個合適的問題,因爲我已經在我的代碼中解釋了所有我想要的東西。
變量未覆蓋,所以這是不可能的,因爲it's繼承的不一部分。變量只是陰影。 – SomeJavaGuy
有沒有什麼辦法可以實現這個任務,我的一個朋友告訴我可以用一些getter setter方法,但我們不知道該怎麼做。 – Shubh
@shubhamnandanwar你可以在'sub'中創建一個'getA'方法並返回'super.a'。但是最終,這在實際編程方面是毫無意義的,因爲隱藏變量是相當糟糕的編程實踐,應該避免。 'sub'已經知道變量'a',不應該再次聲明它。 – SomeJavaGuy