Java如何指定接受超类的子类的方法

Java如何指定接受超类的子类的方法,java,inheritance,wildcard,Java,Inheritance,Wildcard,以下是我想做的: public MyClass extends MySuperClass{ } public class MySuperClass { public static void main( String[] args ) { MyClass mc = setProperties( new Myclass() ); } public static Class<? extends MySuperClass> setProperties(Class<? ext

以下是我想做的:

public MyClass extends MySuperClass{

}


public class MySuperClass {

public static void main( String[] args ) { 
MyClass mc = setProperties( new Myclass() );
}

public static Class<? extends MySuperClass> setProperties(Class<? extends MySuperClass> myClass){
// set some static properties
return myClass;
}

}
公共MyClass扩展了MySuperClass{
}
公共类MySuperClass{
公共静态void main(字符串[]args){
MyClass mc=setProperties(新的MyClass());
}
公共静态类
我希望能够将MySuperClass的任何子类传递给SetProperties,并在超类中设置一些属性后返回它。返回它只是为了方便。我只是缺少一些语法?还是我对类的理解

类的使用

这表示未知类型。(诡异)。这基本上意味着您不知道此方法将返回什么类类型

有用链接:

我希望能够将MySuperClass的任何子类传递给SetProperties,并在超类中设置一些属性后返回它。返回它只是为了方便。我只是缺少一些语法?还是我对类的理解

类的使用

这表示未知类型。(诡异)。这基本上意味着您不知道此方法将返回什么类类型


有用的链接:

你要求传递
对象而不是它的实例你要求传递
对象而不是它的实例给定OP的描述,这个解决方案很适合它。尽管我必须承认,我更多地证明了一点。哦,这很简单,谢谢Chris,我让事情变得复杂了哈,哇。我有点讽刺。别让任何人告诉你讽刺没有什么用处!我暂时不能接受你的答案,但是类有什么用呢?我能想到的类的最好例子是类似于json/xml解析器的东西。它需要解析字符串,还有一个类告诉它应该是什么嵌入/return.public static X json转换(字符串json,类clazz)根据OP的描述,这个解决方案非常适合。虽然我必须承认,我更能证明一个观点。哦,这很简单,谢谢克里斯,我把事情弄得很复杂:)哈,哇。我有一部分是在讽刺。别让任何人告诉你讽刺没有用处!我有一段时间不能接受你的答案,但课堂有什么用?最好的考试我能想到的类的ple类似于json/xml解析器。它接受要解析的字符串,以及一个告诉它应该转换为/return的类。public static X jsonversion(string json,Class clazz)
public static MySuperClass setProperties(MySuperClass superClass)
{
      // Accept any instance or subclass of MySuperClass
      return superClass;
}