黑马程序员技术交流社区
标题:
关于java Class类的疑惑
[打印本页]
作者:
android0276
时间:
2014-7-6 20:14
标题:
关于java Class类的疑惑
package com.itheima;
public class Test {
public static void main(String[] args) {
Person p1 = new Person();
Class c1 = Person.class;
Class c2 = p1.getClass();
Class c3 = null;
try {
// =================问题区=======================
c3 = Class.forName("test.Person");
/*
* 为什么这个地方写上test.Person后c2==c3就返回true;而写上Person后c2==c3就返回false
*/
// =================问题区=======================
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(c2 == c3);
}
}
class Person {
String name = "shuiguo";
public String getName() {
return name;
}
}
复制代码
作者:
fantacyleo
时间:
2014-7-6 21:11
测试结果如下:
1. c3 = Class.forName("Person"); 则c2==c3返回true
2. Person类既不在test这个包中,又不是Test的内部类,"test.Person"这个写法会报ClassNotFound异常
作者:
luheqi
时间:
2014-7-6 21:37
不加就搜索默认包,可能在其他包内有同名的类。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2