认识Class类:

正常情况下,必须指定类的完整路径才能实例化对象,但是java中也允许通过一个对象找到其所在类的信息。这实际就是class类的功能。

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

运行结果:

  1. 类集.X

object类有如下优点:

CLASS类

  Class本身表示一个类本身,通过class可以得到一个类中完整结构,包括此类的方法定义,方法属性等。

常用方法:

实例化class类对象的三种方法:

1,通过forName(包。类名称)方法。

2,类。class  

3,对象。getClass()

一,其中forName定义如下:实例化是forName(包.类名称)

  1. public static Class<?> forName(String className)
  2. throws ClassNotFoundException

可见,使用forName()需要处理异常。

二,getClass()是object类的方法,对象.getClass()

三,类。class。

四,通过getName(),可以获取类名称。

如下例子:

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

一旦实例化Class类后,即可进行反射的进一步操作。

总结

1,了解class类的作用:反射源头,

2,三种class类的实例化方式,要以forName()重点掌握,还有 类.class

反射机制(1)认识Class类的更多相关文章

  1. Java 学习之反射机制“解刨”分解类,并获取内容!

    正常情况下,单纯的做开发是接触不到反射机制的(额,当然并不排除例外的情况了).下面我就对我学到的反射方面的知识做一个小小的总结,旨在复习和以后的查看. 原理分析: 所谓反射就是将一个类当做我们研究的对 ...

  2. 反射机制2,Class类的使用

    class是反射源头,不光可以取得对象所在类信息,也可直接通过class类的方法进行对象的实例化操作. 使用关键字new为对象实例化.如果已经实例化好了class对象,就可以通过class类中提供的n ...

  3. Apache.Tomcat 调用Servlet原理之Class类的反射机制,用orc类解释

    有一个兽人类 package com.swift.servlet; public class OrcDemo { private int hp; private int mp; private int ...

  4. Java反射机制及IoC原理

    一. 反射机制概念 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义.在java中,只要给定类的名字, 那么就可以通 ...

  5. Java反射机制<2>

    反射机制还可以调用类中的指定方法或指定属性,并且可以通过反射完成对数组的操作. 通过反射调用类中的方法 import java.lang.reflect.Method; //============= ...

  6. Java 反射机制及Annotation

    转自:http://justjavac.iteye.com/blog/714654 Java 反射是 Java 语言的一个很重要的特征. 它允许运行中的 Java 程序对自身进行检查,并能直接操作程序 ...

  7. java 反射机制01

    // */ // ]]>   java反射机制01 Table of Contents 1 反射机制 2 反射成员 2.1 java.lang.Class 2.2 Constructor 2.3 ...

  8. iOS 开发--Objective-C 反射机制

    了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类.这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法.当然,本篇文章中讲到的反射方法,就在NS ...

  9. Java泛型反射机制(二)

    /** * @author Administrator * 好处:泛型:1安全 2减少代码重用率 */ package com.test; import java.lang.reflect.Metho ...

  10. java反射机制(访问私有字段和私有方法)

    来自:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html 尽管我们通常认为通过JAVA的反射机制来访 ...

随机推荐

  1. SqlHelper——只因为在人群中多看了你一眼

    对SQLHelper,还是有一点陌生的,但是大多数人都在使用,我就有一种想了解并使用的意愿,于是查了很多资料,发现一片不错的博客,放在下面,作为自己或读者使用的材料. 一.SqlHelper 出场 不 ...

  2. 【ZJOI2017】线段树

    题目描述 线段树是九条可怜很喜欢的一个数据结构,它拥有着简单的结构.优秀的复杂度与强大的 功能,因此可怜曾经花了很长时间研究线段树的一些性质. 最近可怜又开始研究起线段树来了,有所不同的是,她把目光放 ...

  3. HDU 6057 Kanade's convolution(FWT)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6057 [题目大意] 有 C[k]=∑_(i&j=k)A[i^j]*B[i|j] 求 Ans ...

  4. 【Java】【高精度】【递推】UVA - 11375 - Matches

    d[i+c[j]]+=d[i](c[j]是拼成j所需的火柴数) d[0]=1: 别忘了不能有前导零,所以当i为零时,不要尝试去拼成零.反而应该在n>=6时,最后给答案加1(单独拼出0). imp ...

  5. ContOS下部署javaweb项目

    1.jdk安装 下载jdk jdk-7u79-linux-x64.rpm # rpm -ivh jdk-7u79-linux-x64.rpm安装  # rpm -e jdk-7u79-linux-x6 ...

  6. MySQL InnoDB引擎锁的总结

    为什么要锁 我们开的的各式各样系统中,系统运行需要CPU.内存.I/O.磁盘等等资源.但除了硬资源外,还有最为重要的软资源:数据. 当人们访问操作我们的系统时,其实归根是对数据的查看与生产.那么对于同 ...

  7. 大于非负整数N的第一个回文数 Symmetric Number

    1.题目 如标题,求大于整数N(N>=0)的第一个回文数的字符串表示形式. 2.样例 1  --> 2 9  -->11 12345 -->12421 123456 --> ...

  8. MYSQL复习笔记1-物理文件和系统架构

    date:20140101auth:Jin 一.物理组成(一) 日志文件参考:http://dev.mysql.com/doc/refman/5.1/en/server-logs.html1.错误日志 ...

  9. webpack与browser-sync热更新原理深度讲解

    本文首发于CSDN网站,下面的版本又经过进一步的修订.原文:webpack与browser-sync热更新原理深度讲解本文包含如下内容: webpack-hot-middleware EventSou ...

  10. Oracle数据库查看用户状态

    一.当前ORACLE用户的状态可查看视图DBA_USERS;一般情况下在使用的正常用户均处于OPEN状态. 1 SQL> select username,account_status from  ...