package com.xt.test;

 interface Test1Interface {

 }

 interface Test2Interface {

 }

 class Test1 implements Test1Interface, Test2Interface {
static {
System.out.println("Test1--Class");
} public void print() {
System.out.println("print111!");
}
} public class ClassTest {
public static void main(String[] args) {
try {
Class<?> c = Class.forName("com.xt.test.Test1");
Test1 cc = (Test1) c.newInstance();
cc.print();
System.out.println("isInterface:" + c.isInterface());
// 打印类加载器的路径
System.out.println("ClassLoader->Path:"
+ c.getClassLoader().getResource("").getPath());
// 打印class文件的路径
System.out.println("Class->Path:" + c.getResource("").getPath());
// 含包名的类名
System.out.println("CanonicalName:" + c.getCanonicalName());
System.out.println("----------------------");
// 实现的接口
for (Class<?> cla : c.getInterfaces()) {
System.out.println("Class->Path:"
+ cla.getResource("").getPath());
System.out.println("isInterface:" + cla.isInterface());
}
// 得到父类,打印父类的名字
Class<?> spuerClass = c.getSuperclass();
System.out.println("superClassName:" + spuerClass.getName());
System.out.println("----------------------");
// Class.cast用法
Number n = new Integer(5);
Class<Integer> i = Integer.class;
Integer ii = i.cast(n);
System.out.println(ii);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
类字面常量XXX.class比Class.forName("")更安全,更效率,注意,使用.class来创建对Class对象的引用的时候不会自动初始化该Class对象.

最新文章

  1. Struts2 使用jQuery实现Ajax
  2. poj 2187 Beauty Contest(凸包求解多节点的之间的最大距离)
  3. Java JDK的安装以及环境变量的配置
  4. [POJ2002]Squares(计算几何,二分)
  5. 要源码的快来啊,价值500的OA商业源码免费送给大家,望大家年底奖金多多......
  6. vim file save as
  7. Android笔记之 文件保存、压缩与清空删除
  8. 图片拉伸(有保护区域) resizableImageWithCapInsets
  9. IOS_FMDB有关字典、数组存储及获取问题
  10. 【Android Developers Training】 66. 添加动画
  11. LeetCode 380. Insert Delete GetRandom O(1) (插入删除和获得随机数 常数时间)
  12. iOS学习——获取iOS设备的各种信息
  13. vim编辑器详解(week1_day3)--技术流ken
  14. python之collection模块
  15. Qt 比对TreeItem节点
  16. python通配符之glob模块
  17. 静态和实例方法区别-java
  18. 12c rac On redhat 7
  19. 02: docker高级篇
  20. Python类的构成元素

热门文章

  1. 网络分析shell脚本(实时流量+连接统计)
  2. Windows 7/Vista 开机自动登录
  3. GET方式URL乱码问题解决
  4. C#文本文件或其他文件新内容追加
  5. Windows2008RT搭建VPN服务器
  6. 数据仓库(七):Oracle Warehouse Builder(OWB)创建数据仓库
  7. php命名空间使用
  8. 对手机SD卡的一些操作
  9. 简易对象垃圾回收框架 for Delphi
  10. Qt信号槽机制的实现(面试的感悟,猜测每一个类保存的一个信号和槽的二维表,实际使用函数指针 元对象 还有类型安全的检查设定等等)