zoukankan      html  css  js  c++  java
  • 反射机制(1)认识Class类

    认识Class类:

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

    package 类集;
    
    class X{
    };
    public class test1{
        public static void main(String args[]){
            X x = new X() ;    // 实例化X类的对象
            System.out.println(x.getClass().getName()) ;    // 得到对象所在的类
        }
    }

    运行结果:

    类集.X

    object类有如下优点:

    CLASS类

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

    常用方法:

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

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

    2,类。class  

    3,对象。getClass()

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

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

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

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

    三,类。class。

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

    如下例子:

    package 类集;
    
    class X{
    };
    public class test1{
        public static void main(String args[]){
            Class<?> c1 = null ;        // 指定泛型
            Class<?> c2 = null ;        // 指定泛型
            Class<?> c3 = null ;        // 指定泛型
            try{
                // 以下的操作形式是在开发中最常用的一种形式
                c1 = Class.forName("类集.X") ;  //forName(包.类名称)
            }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())  ;    // 得到类的名称
        }
    }

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

    总结

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

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

  • 相关阅读:
    Feb292012 个人核心竞争力的构建
    让读书成为一种习惯
    软件工厂方法(二):软件工厂应用
    Scrum之 站立例会
    信息系统开发平台OpenExpressApp - AutoUI自动生成界面
    信息系统开发平台OpenExpressApp-内置支持的属性编辑方式
    信息系统开发平台OpenExpressApp - 订单示例(Getting Started)
    需求入门: 原型开发
    信息系统开发平台OpenExpressApp - 学习必备知识
    从IT方法论来谈RUP
  • 原文地址:https://www.cnblogs.com/alsf/p/6538482.html
Copyright © 2011-2022 走看看