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

标签 java android function generics

我有一个 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 M依次有 3 个嵌套类 - 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();

现在要操作 A、B、C 存储的值,我有一个函数 doSomething() . 我想通过a,b,cdoSomething()在不同的时间,比如

`doSomething(a);`
`doSomething(b);`
`doSomething(c);`

我的意思是,如何声明函数 doSomething()这样我就可以通过 a、b、c 了吗?

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

dosomething()class M之外.

谢谢。

最佳答案

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());
    }
}

关于java - 在 java/android 中将特定类的嵌套类作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177877/

相关文章:

java - 以大量 nul 字符结尾的 StringBuilder

java - 如何获取 Android 用户的电子邮件地址?

安卓 : AlarmManager with defined date

android - 在 2 行 Gridview 之间添加 View

java - 仍然对 Maven 中的目标感到困惑

java - 为什么该项目已从数组中删除,但未从我的表中删除?

java - 如何在安卓上使用文件锁?

c - 您如何控制 C 编译器优化的内容?

Javascript 函数挑战 add(1,2) 和 add(1)(2) 都应返回 3

function - 何时创建类和函数?