zoukankan      html  css  js  c++  java
  • [javaSE] 反射-Class类的使用

    JAVA-Reflect 专题

    Class类的使用

    ②方法的反射

    ③成员变量的反射

    ④构造函数的反射

    java类的加载机制

     

    Ⅰ在面向对象的世界里,万事万物皆为对象

    类是对象,类是java.lang.Class类的实例对象

    Class类的实例对象有三种表示方式

     

    //第一种表达方式(已知类名)

    //第二种表达方式(已知对象)

    //第三种表达方式(通过类全称)

     

    package com.tsh.reflect;
    
    public class ReflectDemo {
        public static void main(String[] args) {
            Foo foo1=new Foo();
            //Class类的实例对象
            //第一种表达方式(已知类名)
            Class c1=Foo.class;
            
            //第二种表达方式(已知对象)
            Class c2=foo1.getClass();
            
            //第三种表达方式(通过类全称)
            Class c3=null;
            try {
                c3=Class.forName("com.tsh.reflect.Foo");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            
            //官网解释:c1和c2表示了Foo类的类类型(class type)
            //一个类只可能是Class类的一个对象,因此下面的输出true
            System.out.println(c1==c2);
            
            //可以通过类的类类型创建该类的实例对象
            try {
                //该类需要有无参数的构造方法
                Foo foo2=(Foo) c1.newInstance();
                foo2.print();
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            
        }
    }
    class Foo{
        void print(){
            System.out.println("test");
        }
    }

     

     

  • 相关阅读:
    事件的基本概念
    c# 语法 字符串内插
    tcp 的编程例子
    Action 语法的简介
    wcf 的小介绍
    Socket编程
    c# base new 等关键字基础
    虚函数和继承的关系
    arraylist,list ,数组区别
    Python爬虫-selenium模拟豆瓣电影鼠标下拉
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5862691.html
Copyright © 2011-2022 走看看