首页 > 代码库 > class<T>,class<?>
class<T>,class<?>
每一个类都有一个class属性,
查看API帮助文档的Object 可以看到有这样一个方法getClass() (这是Object 类的方法)
解释是返回运行时的对象的class对象(class对象实例是什么呢 就是类名.class 例如 HelloWorld.class, 这由JVM生成和调用),返回类型为Class<?> 也就是所说的编译后的字节码文件 例如你编写的HelloWorld类就有HelloWorld.class字节码文件
HelloWorld.class 也就是 Class<HelloWorld> (API中解释为T - the type of the class modeled by thisClass
object. For example, the type ofString.class
is Class<String>
. Use Class<?>
if the class being modeled is unknown ) Class<T>中的T有有点像C++中的template<class T> Class<?> 也就是 Class<? extends Object>
?的意思的,由于可能暂时不知道对象的Class类型(或为了简单用?替代) ,因为每个Class<T> 又继承Object ,所以可以代表任意的类型
class HelloWorld{ } public class Test { public static void main(String[] args) { HelloWorld hw= new HelloWorld(); Class<?> t= hw.getClass(); System.out.println(t); } }
输出 class HelloWorld
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。