Java反射机制--Class类

Java反射机制--Class类

1340人阅读 评论(2) 收藏 举报
分类:

在正常情况下,必须知道一个类的完整路径之后才可以实例化对象,但是在Java中也允许通过一个对象来找到其所在类的信息,那么这实际上就是Class类的功能。

  1. package org.lxh.demo15.getclassdemo ;  
  2. class X{  
  3. };  
  4. public class GetClassDemo01{  
  5.     public static void main(String args[]){  
  6.         X x = new X() ; // 实例化X类的对象  
  7.         System.out.println(x.getClass().getName()) ;    // 得到对象所在的类  
  8.     }  
  9. };  
package org.lxh.demo15.getclassdemo ;
class X{
};
public class GetClassDemo01{
	public static void main(String args[]){
		X x = new X() ;	// 实例化X类的对象
		System.out.println(x.getClass().getName()) ;	// 得到对象所在的类
	}
};

Object类的支持


Class类:



没有任何的构造方法,因为此类的构造方法被私有化了。

  1. package org.lxh.demo15.getclassdemo ;  
  2. class X{  
  3. };  
  4. public class GetClassDemo02{  
  5.     public static void main(String args[]){  
  6.         Class<?> c1 = null ;      // 指定泛型  
  7.         Class<?> c2 = null ;      // 指定泛型  
  8.         Class<?> c3 = null ;      // 指定泛型  
  9.         try{  
  10.             // 以下的操作形式是在开发中最常用的一种形式  
  11.             c1 = Class.forName("org.lxh.demo15.getclassdemo.X") ;  
  12.         }catch(ClassNotFoundException e){  
  13.             e.printStackTrace() ;  
  14.         }  
  15.         c2 = new X().getClass() ;       // 通过Object类中的方法实例化  
  16.         c3 = X.class ;  // 通过类.class实例化  
  17.         System.out.println("类名称:" + c1.getName())  ;    // 得到类的名称  
  18.         System.out.println("类名称:" + c2.getName())  ;    // 得到类的名称  
  19.         System.out.println("类名称:" + c3.getName())  ;    // 得到类的名称  
  20.     }  
  21. };  
package org.lxh.demo15.getclassdemo ;
class X{
};
public class GetClassDemo02{
	public static void main(String args[]){
		Class<?> c1 = null ;		// 指定泛型
		Class<?> c2 = null ;		// 指定泛型
		Class<?> c3 = null ;		// 指定泛型
		try{
			// 以下的操作形式是在开发中最常用的一种形式
			c1 = Class.forName("org.lxh.demo15.getclassdemo.X") ;
		}catch(ClassNotFoundException e){
			e.printStackTrace() ;
		}
		c2 = new X().getClass() ;		// 通过Object类中的方法实例化
		c3 = X.class ;	// 通过类.class实例化
		System.out.println("类名称:" + c1.getName())  ;	// 得到类的名称
		System.out.println("类名称:" + c2.getName())  ;	// 得到类的名称
		System.out.println("类名称:" + c3.getName())  ;	// 得到类的名称
	}
};



0
0
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值