package zhang;
 /**
  * JAVA反射之CLass类的练习
  *
  * 在面向对象的语言里,万事万物皆对象,那么类是谁的对象呢?
  * 类的类型是CLass
  *
  * */
 class Test{
     void print(){
         System.out.println("Hello world!");
     }
 }//Test是一个类。
 public class ClassDemo {
     public static void main(String[] args) {
         //创建Test对象的方式
         Test test=new Test();//这样通过new 就创建除了Test的对象
         //那么类也是一种对象,作为Test类,如何创建出对象为Test的对象呢?
         /*
          *
          * Constructor. Only the Java Virtual Machine creates Class
          * objects.
          * private Class() {}
          * Class类的构造方法是私有的,所以不能通过new来创建Class 对象。
          * Class对象只能通过Java虚拟机创建
          */

         /**
          * 有三种方式
          * */
         /* 第一种:Class T1=Test.class 这种方式实际上是在告诉我们任何
          * 一个类都存在一个隐含的静态成员class
          *
          * 通过已知类型来创建
          */

         Class T1=Test.class;

         /*
          * 第二种
          * 通过已知类型的对象来创建
          * */
         Class T2=test.getClass();

         System.out.println(T2==T1);

         /*
          *
          * 第三种
          * */
         Class T3=null;
         try {
             T3=Class.forName("zhang.Test");
         } catch (ClassNotFoundException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }

         System.out.println(T3==T2);
         //也就是说:不管T1 or T2都代表Test类的类类型,一个类只可能是Class类的一个实例对象。

         //我们可以通过T1 or T2 or T3来创建Test对象。
         try {
             Test test1=(Test) T1.newInstance();//这样就创建出Test的实例了
             test1.print();

         } catch (InstantiationException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         } catch (IllegalAccessException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }
 }

package zhang;
/**
 * JAVA反射之CLass类的练习
 *
 * 在面向对象的语言里,万事万物皆对象,那么类是谁的对象呢?
 * 类的类型是CLass
 *
 * */
class Test{
    void print(){
        System.out.println("Hello world!");
    }
}//Test是一个类。
public class ClassDemo {
    public static void main(String[] args) {
        //创建Test对象的方式
        Test test=new Test();//这样通过new 就创建除了Test的对象
        //那么类也是一种对象,作为Test类,如何创建出对象为Test的对象呢?
        /*
         *
         * Constructor. Only the Java Virtual Machine creates Class
         * objects.
         * private Class() {}
         * Class类的构造方法是私有的,所以不能通过new来创建Class 对象。
         * Class对象只能通过Java虚拟机创建
         */
 
        /**
         * 有三种方式
         * */
        /* 第一种:Class T1=Test.class 这种方式实际上是在告诉我们任何
         * 一个类都存在一个隐含的静态成员class
         *
         * 通过已知类型来创建
         */
        
        Class T1=Test.class;
        
        /*
         * 第二种
         * 通过已知类型的对象来创建
         * */
        Class T2=test.getClass();
        
        System.out.println(T2==T1);
        
        /*
         *
         * 第三种
         * */
        Class T3=null;
        try {
            T3=Class.forName("zhang.Test");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        System.out.println(T3==T2);
        //也就是说:不管T1 or T2都代表Test类的类类型,一个类只可能是Class类的一个实例对象。
        
        //我们可以通过T1 or T2 or T3来创建Test对象。
        try {
            Test test1=(Test) T1.newInstance();//这样就创建出Test的实例了
            test1.print();
            
            
        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    
    }
}

JAVA反射之Class类的练习的更多相关文章

  1. Java反射 - 1(得到类对象的几种方法,调用方法,得到包下的所有类)

    通过反射获得对象的方法 准备工作: 有一个User类如下 package o1; /** * Created by yesiming on 16-11-19. */ public class User ...

  2. java反射 顺序输出类中的方法

    java反射可以获取一个类中的所有方法,但是这些方法的输出顺序,并非代码的编写顺序. 我们可以通过自定义一个注解来实现顺序输出类中的方法. 首先,先写一个类,定义增删改查4个方法 public cla ...

  3. 【java】java反射初探 ——“当类也照起镜子”

    反射的作用   开门见山地说说反射的作用 1.为我们提供了全面的分析类信息的能力 2.动态加载类   我理解的“反射”的意义 (仅个人理解) 我理解的java反射机制就是: 提供一套完善而强大的API ...

  4. 【java】java反射初探 ——“当类也学会照镜子”

    反射的作用   开门见山地说说反射的作用   1.为我们提供了全面的分析类信息的能力 2.动态加载类   我理解的“反射”的意义 (仅个人理解哈)   我理解的java反射机制就是: 提供一套完善而强 ...

  5. Java反射初探 ——“当类也学会照镜子”

    反射的作用 开门见山地说说反射的作用   1.为我们提供了全面的分析类信息的能力 2.动态加载类   我理解的“反射”的意义 (仅个人理解哈)   我理解的java反射机制就是: 提供一套完善而强大的 ...

  6. java反射之获取类的基本信息(一)

    一.反射原理. Java 反射机制.通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还原“类的全部的信息”.这里“类的部分已经的信息”,可以是“类名”或“类的对象”等信息.“类的全部 ...

  7. java反射对实体类取值和赋值,可以写成通过实体类获取其他元素的数据,很方便哦~~~

    项目中需要过滤前面表单页面中传过来的实体类的中的String类型变量的前后空格过滤,由于前几天看过一个其他技术博客的的java反射讲解,非常受益.于是,哈哈哈 public static <T& ...

  8. Java反射之Class类

    接下来的几章,我们谈一谈java的反射机制. 反射就是从一个java类中映射出一个java类或是一个实例.通常在很多框架中都用到反射,比如常用的ssm框架,在配置文件中总是会写到类的全名,框架通过读取 ...

  9. java反射对实体类取值和赋值

    public static void checkDesignerEdit(Object dtos) throws Exception { Class dtosClass = dtos.getClass ...

随机推荐

  1. My97设置开始、结束 时间区间及输入框不能输入只能选择的方法

    时间区间开始: <input type="text" id = "first_time" name="first_time" valu ...

  2. 如何在pycharm中使用配置好的virtualenv环境

    1.手动建立: 第一步 建立虚拟环境 Windows cmd: pip install virtualenv 创建虚拟环境目录 env 激活虚拟环境 C:\Python27\Scripts\env\S ...

  3. Django之auth模块(用户认证)

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  4. github git 在GitHub上创建项目并将本地项目push到网站上

    众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...

  5. 学习linux的一些指令

    简单说一下我对linux的理解,linux只有一个根目录,所有目录都挂在该根目录上,磁盘进行分区,然后生成文件系统,挂到目录上,/etc/fstab用于记录系统配置,比如分区挂载点,开机自动挂载等等. ...

  6. Linux查看文件指定某些行的内容

    查看从第5行开始的100行内容,并把结果重定向到一个新的文件 cat file | tail -n +5 | head -n 100 > newfile.txt 查看第5行到100行的内容,并把 ...

  7. 解决:HTTP 错误 404.0 - Not Found.您要找的资源已被删除、已更名或暂时不可用。(记录帖)

    在IIS 上发布web程序时报错,HTTP 错误 404.0 - Not Found.您要找的资源已被删除.已更名或暂时不可用.在网上找了很多资料依然没有解决,后来问了一下同事,他一分钟就帮我搞定了 ...

  8. windows版本的phantomjs-2.1.1-windows安装

    windows版本的phantomjs-2.1.1-windows安装 1.下载 链接:http://pan.baidu.com/s/1dEUl6dN 密码:oij8 2.安装 下载好之后解压放到某个 ...

  9. TOMCAT下的JNDI的配置

    一.第一种配置局部JNDI 1.在tomcat的conf目录下的server.xml的<host>标签内,添加: <Context path="/TestMvcMode&q ...

  10. Linux(七)开机,重启和用户登录注销

    7.1 关机&重启命令 基本介绍: shutdown -h now       立刻进行关机 shutdown -h 1            1分钟后关机 shutdown -r now  ...