gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 13:56:32 26 4
gpt4 key购买 nike

我有一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com