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分钟内接受答案)