zoukankan      html  css  js  c++  java
  • review21

    Class是java.lang包中的类,该类的实例可以帮助程序创建其他类的实例或者取得其他类的对象的内部信息。

    参考代码如下所示:

    package pack07;
    
    import java.util.Date;
    
    class Rect{
        double width, height, area;
        public double getArea()
        {
            area = width * height;
            return area;
        }
    }
    
    public class Test11 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            try{
                Class cs = Class.forName("pack07.Rect");
                Rect rect = (Rect)cs.newInstance();//Rect必须有无参构造方法
                rect.width = 100;
                rect.height = 200;
                System.out.println("rect的面积:" + rect.getArea());
                cs = Class.forName("java.util.Date");
                Date date = (Date)cs.newInstance();
                System.out.println(date.toString());
            }
            catch(Exception e)
            {
                System.out.println(e.toString());
            }
        }
    }

    运行结果如下所示:

    获取类的相关信息

    当一个类被加载且创建对象是,和该类相关的一个类型为Class的对象就会自动创建,任何对象调用getClass()方法都可以获取和该对象相关的一个Class对象,这个Class对象调用如下的方法可以获取对象的有关信息。

    String getName()返回类的名字

    Constructor[] getDeclaredConstructors()返回类的全部构造方法

    Field[] field getDeclaredFields()返回类的全部成员变量

    Method[] getDeclaredMethods()

    代码展示如下所示:

    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    import java.util.Date;
    
    public class Test12 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Date date = new Date();
            Class cs = date.getClass();
            String className = cs.getName();
            Constructor[] con = cs.getDeclaredConstructors();
            Field[] field = cs.getDeclaredFields();
            Method[] method = cs.getDeclaredMethods();
            System.out.println("类的名字:" + className);
            System.out.println("类中有如下的成员变量:");
            for(int i = 0; i < field.length; i++)
            {
                System.out.println(field[i].toString());
            }
            System.out.println("类中有如下的方法:");
            for(int i = 0; i < method.length; i++)
            {
                System.out.println(method[i].toString());
            }
            System.out.println("类中有如下的构造方法");
            for(int i = 0; i < con.length; i++)
            {
                System.out.println(con[i].toString());
            }
        }
    
    }

    运行结果如下所示:

  • 相关阅读:
    Charpter5 软件测试总结
    Charpter3 关于闰年测试
    Charpter2 新的测试用例
    Charpter1 等价类划分方法分析与应用
    软件测试第一周学习总结
    关于软件测试学习的心得
    软件测试-同行评审
    白盒测试
    黑盒测试
    Java实现的闰年测试程序
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9441427.html
Copyright © 2011-2022 走看看