0
所以我有一個父類說A和一個名爲I的內部類。我正在調用一個函數,即pop(),它是A類的。現在這個pop()被B覆蓋了,這是A的一個子代。如何在JAVA中從父類的內部類調用子類中的重寫方法?
現在當pop被我從中調用時,會從A中彈出被執行還是B?
package testers;
public class test
{
public void run()
{
System.out.println("Inside test");
}
public void irun()
{
InnerClassOne o=new InnerClassOne();
o.inside();
System.out.println("Inside irun");
}
private void inside()
{
// TODO Auto-generated method stub
}
class InnerClassOne
{
void inside()
{
System.out.println("Inside inner");
test.this.run();
}
}
}
package testers;
public class test2 extends test
{
public void run()
{
System.out.println("Overriden");
}
public static void main(String []args)
{
test t1= new test();
t1.irun();
}
}
向我們展示代碼(取決於您調用pop方法的實例,並假定pop不是靜態的)。在論壇上詢問之前可能值得嘗試。 – SMA
封裝測試儀; 公共類測試{ \t \t 公共無效的run(){ \t \t的System.out.println( 「內部測試」); \t} \t \t 公共無效伊倫(){ \t \t InnerClassOne O =新InnerClassOne(); \t \t o.inside(); \t \t System.out.println(「Inside irun」); \t} \t私人無效內部(){ \t \t // TODO自動生成方法存根 \t \t \t } \t類InnerClassOne \t { \t \t空洞內() \t \t {System.out的。 println(「Inside inner」); \t \t \t \t test.this.run(); \t \t} \t} } –
包測試人員; \t公共類TEST2延伸測試 {公共無效的run(){ \t System.out的。的println( 「覆寫」); } \t 公共靜態無效的主要(字串[] args){ \t試驗T1 =新的測試(); t1.irun(); \t \t \t} } –