Java:这里为什么可以直接使用类名呢?

public class Test {
public static void main(String[] args) throws URISyntaxException, IOException {
URL url = Test.class.getResource("./second/demo.txt");
File file = new File(url.toURI());
StringBuffer buffer = new StringBuffer();
Reader reader = new FileReader(file);
int ch = reader.read();
while(ch != -1){
buffer.append((char)ch);
ch = reader.read();
}
reader.close();
System.out.println(buffer.toString());
}
}

第三行Test.class中的Test是什么意思呢?怎么可以直接使用类名调用类的属性吗?.class是一个静态属性?

类名.class, 表示获取这个类的模型,实际上对应的就是一个Class类。
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为
Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java
类型(boolean、byte、char、short、int、long、float
和 double)和关键字 void 也表示为 Class 对象。Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的
defineClass 方法自动构造的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-21
Test.class 相当于this.class  表示的就是这个类

第2个回答  2014-03-21
是静态属性无疑,class是每个类都有的属性,应该是继承自Object,获取该类的信息
相似回答