zoukankan      html  css  js  c++  java
  • 反射学习(二)

     1 package com.iotek.reflection;
     2 /**
     3  * 反射概念及Class对象
     4  * @author Administrator
     5  * @Version 1.0 2017/05/24
     6  */
     7 public class classDemo {
     8 
     9     public static void main(String[] args) {
    10         // 第1种方法获得Class对象:对象名.getClass(),返回object的运行时类
    11         Employee employee = new Employee("zhangsan", 30);
    12         // 获取employee这个对象所对应的类型(Employee)所对应的Class对象
    13         Class<?> classType = employee.getClass(); // ctrl+2 L   ?代表这个类型可以接受所有Class类所
    14         System.out.println(classType.getName()); // 打印class对象对应的类型:Employee
    15         System.out.println(classType.getSuperclass().getName()); // 打印class对象对应的类型的父类:Object类型
    16 
    17         //  第2种方法获得Class对象:类名.class
    18         Class<?> classType1 = Employee.class;
    19         System.out.println(classType1.getName()); // 打印class对象对应的类型:Employee
    20         System.out.println(classType1.getSuperclass().getName());
    21 
    22         //  第3种方法获得Class对象:使用Class.forName()这个静态方法来获取类与之对应的class对象
    23         try {
    24             Class<?> classType2 = Class.forName("com.iotek.classtype.Employee");
    25             System.out.println("classType2 is:"+classType2.getName());
    26             System.out.println(classType2.getName()); // 打印class对象对应的类型:Employee
    27             System.out.println(classType2.getSuperclass().getName());
    28 
    29         } catch (ClassNotFoundException e) {
    30             // TODO Auto-generated catch block
    31             e.printStackTrace();
    32         }
    33 
    34         //  第4种方法获得Class对象:获取基本数据类型的Class对象
    35         Class<?> classType3 = int.class;
    36         System.out.println(classType3.getName()); // 打印class对象对应的类型:Employee
    37         // System.out.println(classType3.getSuperclass().getName()); 只有对象才有父类
    38         // 通过基本数据类型的包装类来获取对应的基本数据类型所对应的Class对象
    39         Class<?> classType4 = Double.TYPE;
    40         // Double是一个包装类
    41         System.out.println(classType4.getName()); // 打印class对象对应的类型:Employee
    42         // System.out.println(classType4.getSuperclass().getName());
    43         Class<?> classType5 = Double.class;
    44         System.out.println(classType5.getName()); // 打印class对象对应的类型:Employee
    45         System.out.println(classType5.getSuperclass().getName());
    46         // 上面语句输出java.lang.Number,说明Double这个类的父类是Number
    47     }
    48 
    49 }
    50 
    51 class Employee {
    52     private String name;
    53     private int age;
    54 
    55     public Employee(String name, int age) {
    56         super();
    57         this.name = name;
    58         this.age = age;
    59     }
    60 
    61     public String getName() {
    62         return name;
    63     }
    64 
    65     public void setName(String name) {
    66         this.name = name;
    67     }
    68 
    69     public int getAge() {
    70         return age;
    71     }
    72 
    73     public void setAge(int age) {
    74         this.age = age;
    75     }
    76 
    77 }
  • 相关阅读:
    java环境变量配置
    经纬度与度分秒转换
    Linux下屏幕截图
    mCustomScrollbar动态加载滚动条
    解决PHPExcel列超过26的问题
    解决PHPExcel长数字串显示为科学计数
    URL获取并修改参数【转】
    Windows下启动nginx,关闭nginx
    Linux 查看目录的相关权限
    Python文件装换成C文件,主要用于隐藏核心文件实现步骤
  • 原文地址:https://www.cnblogs.com/enjoyjava/p/7811972.html
Copyright © 2011-2022 走看看