gpt4 book ai didi

java - 如何动态创建一个使用反射扩展另一个动态类的类?

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:21 24 4
gpt4 key购买 nike

我正在像这样动态获取一个类:

Class<?> clazz = Class.forName("com.android.systemui.quicksettings.QuickSettingsTile");

我想创建另一个名为 DummyTile 的类,它扩展了我以前的类。它看起来像这样:

public class DummyTile extends QuickSettingsTile {

public DummyTile(Context context, QuickSettingsController qsc) {
super(context, qsc);
}

public void updateTile() {
System.out.println("Hello");
}

@Override
public void updateResources() {
updateTile();
super.updateResources();
}

}

...但我不确定如何使用反射来做到这一点。 This is the class that I'm trying to extend.我也不确定如何覆盖方法并使用构造函数初始化对象。我使用反射处理过非常简单的事情,但从未处理过动态扩展另一个类。

如果有人可以通过一些片段为我指明正确的方向,我相信我能够从那里处理它。

最佳答案

你不能用反射来做到这一点。您可以使用 java.lang.reflect.Proxy 动态创建 interface 实现,仅此而已。

如果你想要更多,你必须使用第三方库。但是这些库通常在较低级别上工作,例如字节码,需要一定的经验。而且它们不能在受限环境中使用。

关于java - 如何动态创建一个使用反射扩展另一个动态类的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19450667/

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