Расширяет класс JAVA, который находится в другом классе - PullRequest
1 голос
/ 05 декабря 2011

IDsmCore.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 классе. Теперь я хочу extends DsmToken class, например, я могу расширить DsmCore следующим образом:

public class MyExtendedDsmCore extends DsmCore
{


}

А как я могу вытянуть DsmToken?

Ответы [ 4 ]

3 голосов
/ 05 декабря 2011

Если внутренний класс не квалифицирован как static, вам не повезло.

2 голосов
/ 05 декабря 2011
public class MyExtendedDsmCore extends DsmCore.DsmToken {
}

и DsmToken должны быть статическими.

1 голос
/ 05 декабря 2011

Сделайте это статическим классом.Но если вы собираетесь расширить класс на два разных класса, я бы посоветовал поместить его в отдельный файл.

0 голосов
/ 05 декабря 2011

public class MyExtendedDsmCore extends DsmCore impliments IDsmCore, так как это интерфейс.

...