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

问题描述 投票:-1回答:2

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

java java-8 java-7 java-6
2个回答
2
投票

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

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

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


0
投票
 MyClass obj = new MyClass();

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

Class obj1  = MyClass.class;

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

© www.soinside.com 2019 - 2024. All rights reserved.