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());
            }
        }
    
    }

    运行结果如下所示:

  • 相关阅读:
    常量的定义
    二进制、八进制、十进制、十六进制间的转换
    使用简单的 5 个步骤设置 Web 服务器集群
    新手推荐:IIS+PHP+MYSQL环境配置教程
    windows7 iis安装与配置
    web服务器配置方法
    如何配置web服务器
    系统没有“internet信息服务(IIS)管理器”
    Html 内嵌 选择器属性 Dom操作 JavaScript 事件
    <转载>使用css让大图片不超过网页宽度
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9441427.html
Copyright © 2011-2022 走看看