Java 传递扩展另一个类的类
我将要执行的操作简化为以下代码:Java 传递扩展另一个类的类,java,class,Java,Class,我将要执行的操作简化为以下代码: public class TestClass { class Class2Extend { } class Foo { public Foo(Class<Class2Extend> myClass) { } } class Bar extends Class2Extend{ } public TestClass() { new Foo(
public class TestClass {
class Class2Extend {
}
class Foo {
public Foo(Class<Class2Extend> myClass) {
}
}
class Bar extends Class2Extend{
}
public TestClass() {
new Foo(Class2Extend.class); // works fine
//new Foo(Bar.class); -> fails even though Bar extends Class2Extend - but I want something like this to have nice code
}
}
公共类TestClass{
类别2扩展{
}
福班{
公共食品(类别myClass){
}
}
类栏扩展了Class2Extend{
}
公共测试类(){
newfoo(Class2Extend.class);//工作正常
//新的Foo(Bar.class);->即使Bar扩展了Class2Extend也会失败,但我希望这样的东西有好的代码
}
}
我可以使用一个界面,但这样会更干净。任何人都可以给我一个关于这个问题的提示/窍门吗?更改为:
class Foo {
public Foo(Class<? extends Class2Extend> myClass) {
}
}
class-Foo{
public Foo(Class如果将Foo
构造函数更改为允许子类,则可以按您希望的方式调用它:
public class TestClass {
class Class2Extend {
}
class Foo {
public Foo(Class<? extends Class2Extend> myClass) {
}
}
class Bar extends Class2Extend{
}
public TestClass() {
new Foo(Bar.class); // works fine
}
}
公共类TestClass{
类别2扩展{
}
福班{
public Foo(Class为您的Foo构造函数尝试此方法
public Foo(Class<? extends Class2Extend> myClass) {...
public Foo(非常感谢!一旦可能,我们将接受(您可以在5分钟内接受答案)