在 java/android 中传递特定类的嵌套类作为参数

tpk*_*tpk 5 java generics android function

我有一个class M,在类里面我有三个嵌套类Class A, Class B, Class c

我需要将任何嵌套类 (A/B/C) 对象传递给方法,即doSomething(***class A/B/C object***).

所以我的问题是如何将嵌套类的不同对象传递Class M给外部方法class M?我应该使用泛型类吗?如果是的话,你能帮我设置一下参数吗?

澄清:

我想要一个单一的方法,其中 的实例M.A,M.B,M.C可以作为参数传递,并且方法必须在外部M

更多说明

让我告诉你我想通过代码实现什么目标。

我有一个class M3 个嵌套类 - A, B, C。我通过以下方式创建 A、B、C 的对象/实例

M.A a = (new M()).new A();
M.B b = (new M()).new B();
M.C c = (new M()).new C();
Run Code Online (Sandbox Code Playgroud)

现在要操作 A、B、CI 存储的值,有一个函数doSomething()。我想在不同的时间传递a,b,cdoSomething()

`doSomething(a);`
`doSomething(b);`
`doSomething(c);`
Run Code Online (Sandbox Code Playgroud)

我的问题的意思是,如何声明函数doSomething()以便我可以传递 a, b, c ?

在实际项目中,嵌套类大约有 20 个,我不想doSomething()一次又一次地编写相同的功能来操作这些嵌套类的实例。

并且dosomething()是在 之外class M

谢谢。

Oli*_*ira 1

class M {    
    static class A implements I {
        public void whatever(){}
    }
    static class B implements I {
        public void whatever(){}
    }
    static class C implements I {
        public void whatever(){}
    }
    interface I {
        void whatever();
    }
}

class C {
    void doSomething(Class<I> clazz){}

    void doSomething(I i){}

    public static void main(String[] args){
        doSomething(M.A.class);
        doSomething(new M.B());
    }
}
Run Code Online (Sandbox Code Playgroud)