[英]Creating a class in runtime in Android
我需要创建一个在 Android 运行时扩展抽象类的类。 我真正需要的是生成这样的东西:
Class A extends AbstractClass{
A(){
super("A name that is saved on AbstractClass");
fieldFromAbstractClass =...
}
@Override
public void aMethodFromAbstractClass(){
//some code....
}
}
我想在运行时生成这个。 这可能吗?
您可以使A
成为匿名内部类。 但是,您不能提供新的构造函数。 对于您的示例,在AbstractClass
定义fieldFromAbstractClass
并提供一个 getter 和一个 setter。
AbstractClass a = new AbstractClass() {
@Override
public void aMethodFromAbstractClass() {
// ...
}
}
a.setFieldFromAbstractClass( someValue );
// do something with A
如果声明为 final,您还可以从内部类中的包含块中引用变量。 有关更多信息,我建议阅读一些 Java 教程或书籍。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.