如何访问接口内的抽象类

时间:2016-11-14 20:29:00

标签: java android oop

这更像是一个java问题,而不是一个Android问题。如果我们查看下面的代码,我需要从我的主类访问getEnrollmentUsername:

public interface IAirWatchSDKService extends android.os.IInterface {

    public String getEnrollmentUsername(String publicKey);

    public abstract static class Stub extends Binder implements IAirWatchSDKService {

        private static class Proxy implements IAirWatchSDKService {
            @Override
            public IBinder asBinder() {
                return null;
            }

            public String getEnrollmentUsername(String publicKey){

                return "it worked";
            }
        }
    }
}

但问题是它被包装在一个抽象类中。我如何从我的主班上学到它?并且这些代码都不会改变,因为它是库的一部分,而我只需要从我的主类编写代码。

2 个答案:

答案 0 :(得分:1)

Proxy被声明为私有类。要从外部访问它,需要publicprotected或默认(包私有),具体取决于您要从中访问它的位置。

答案 1 :(得分:0)

最佳实践是,如果您的主类需要运行此方法,它应该实现该接口。那个,或者主类知道具有如下方法的接口:myIAirWatchSDKService.getEnrollmentUsername(s)