2011-12-05 36 views
1

IDsmCore.java(接口类)扩展JAVA类,这是在其它类

public interface IDsmCore 
{ 
    public void Initialize(String path, String fileName); 
    public void Uninitialize(); 
} 

IDsmToken.java(接口类)

public interface IDsmToken 
{ 
    public String GetID(); 
    public void SetID(String id); 
} 

DsmCore .java(接口实现)

public class DsmCore implements IDsmCore 
{ 
    @Override 
    public void Initialize(String path, String fileName) { 
     // Some code goes here. 
    } 

    @Override 
    public void Uninitialize() { 
     // Some code goes here. 
    } 

    public class DsmToken implements IDsmToken 
    { 
     @Override 
     public String GetID() { 
      // Some code goes here. 
     } 

     @Override 
     public void SetID(String id) { 
      // Some code goes here. 
     } 
    } 
} 

怎么可以看到DsmToken类是在DsmCore类。现在我想extendsDsmToken类,例如我是否可以extends DsmCore这样:

public class MyExtendedDsmCore extends DsmCore 
{ 


} 

以及我如何延伸DsmToken

回答

2
public class MyExtendedDsmCore extends DsmCore.DsmToken { 
} 

和DsmToken应该是静态的。

+0

不知道为什么这是downvoted。 –

+0

因为你不能扩展一个非静态的内部类。如果它不是静态的,它必须被附加到一个实例。 –

+0

em ...,我的错在哪里? – maks

-3

public class MyExtendedDsmCore extends DsmCore impliments IDsmCore因为它是一个接口。

+0

DsmCore是这个类。 IDsmCore是接口 –

3

如果内部类不符合static,那么您的运气不好。

1

使其成为静态类。但是,如果你打算在两个不同的类中扩展这个类,我建议把它放在它自己的文件中。