Myclass.class与new MyClass()有什么区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Myclass.class与new MyClass()有什么区别?相关的知识,希望对你有一定的参考价值。

团队,在学习java(特别是泛型)时,我可以在方法中看到两个不同的参数(.class和对象引用)。何时使用.class选项和新的myclass()?给我一些例子来理解

答案

new MyClass():将创建一个MyClass类型的实例/对象

MyClass.class:是一个“类文字” - 一种获取特定类型的类的简单方法。为了提取有关类的元数据,如字段和方法。

有关更多详细信息,请参阅Java Language Specification。 (15.8.2类文字)

另一答案
 MyClass obj = new MyClass();

它返回一个MyClass类型的新对象,并将在MyClass中定义所有全局变量和方法,但是,

Class obj1  = MyClass.class;

这里obj1不能被视为MyClass的对象。 obj1是Class.java(java中预定义的类)的对象。它没有MyClass的所有信息。但是Class.java中定义的一些方法有一些MyClass的通用信息:object.name会给MyClass

以上是关于Myclass.class与new MyClass()有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

URL myURL=MyClass.class.getClassLoader().getResource(fileName);

instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例 , 返回true或者false

Kotlin泛型未经检查的警告

.class 的 Java 同步块

玩2.4 Ebean分页问题

C++ 类成员存储