zoukankan      html  css  js  c++  java
  • 反射①:如何获取class对象六种方法

    获取class对象的六种方法

    了解:class类——是Java反射机制的入口,封装了一个类或接口的运行信息,通过调用Class类的方法可以获取这些信息,其特点如下:

    1、该类在java.lang包中;

    2、该类被final所修饰,即该类不可以被子类继承

    3、该类实现了Serializable接口

    4、该类的构造方法被private所修饰,所以不能通过new关键字创建该类的对象

    ①先创建一个类

    //创建一个Student类
    package com.zzj.vo;
    
    public class Student {
    
        public String name;
        
        public Student(){
            
        }
        
        public Student(String name){
            this.name = name;
        }
        
        public void doHomework(){
            System.out.println(name+"正在写作业...");
        }
        
    }

    ②测试获取对象

    第一种:Class.forName方法获取

    Class clazz = null;
    try {
            clazz = Class.forName("com.zzj.vo.Student");
            System.out.println(clazz.getName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
    }        
    //输出结果为com.zzj.vo.Student

    第二种:类名.class方法获取

    clazz = Student.class;
    System.out.println(clazz.getName());
    //输出结果为com.zzj.vo.Student

    第三种:对象.getClass()

    clazz = new Student().getClass();
    System.out.println(clazz.getName());
    //输出结果为com.zzj.vo.Student

    第四种:基本数据类型对应的class对象:包装类、TYPE

    clazz = Integer.TYPE;
    System.out.println(clazz.getName());//输出int
    clazz = Integer.class;
    System.out.println(clazz.getName());//输出java.lang.Integer

    第五种:数组类型对应的class:元素类型[].class

    clazz = String[].class;
    System.out.println(clazz.getName());
    //输出结果为[Ljava.lang.String;

    第六种:某个类父类所对应的的class对象

    clazz = Student.class.getSuperclass();
    System.out.println(clazz.getName());
    //输出结果为java.lang.Object
  • 相关阅读:
    各种排序算法时间复杂度和空间复杂度表
    where 1=1和 0=1 的作用
    scala map操作 简单总结
    Scala详解---------数组、元组、映射
    Scala之String
    scala object 转Class Scala强制 类型转换
    Scala中的None,Nothing,Null,Nil
    mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
    java.lang.String cannot be cast to scala.runtime.Nothing Scala中的Nothing类型
    mybatis 于 hibernate区别
  • 原文地址:https://www.cnblogs.com/yimengxianzhi/p/12160355.html
Copyright © 2011-2022 走看看