栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Class 类介绍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Class 类介绍

Class 类
  1. Class 也是类,因此也继承了 Object 类
  2. Class 类对象不是new出来的,而是系统创建的
  3. 对于某个类的 Class 对象,在内存中只有一份,因为类只加载一次
  4. 每个类的实例都会记得自己是由哪个 Class 实例所生成
  5. 通过 Class 可以得到一个类的完整结构,通过一系列API
  6. Class 对象是存放在堆里的
  7. 类的字节码二进制数据,是存放在方法区的,有的地方称为类的元数据
Class类常用方法
  1. Class.forName:获取Car类对应的Class对象
  2. getClass:显示运行类型
  3. getPackage:得到包名
  4. getName:得到全类名
  5. newInstance:通过cls创建对象实例
  6. getField:通过反射获取属性
  7. set:通过反射为属性赋值
  8. getFields:通过反射获取所有属性
package com.ftn.reflection.class_;

import java.lang.reflect.Field;

//演示Class类的常用方法
public class Class02 {
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchFieldException {
        String classPath = "com.ftn.Car";

        //1.获取Car类对应的Class对象
        //表示不确定的Java类型
        Class cls = Class.forName(classPath);

        //2.输出cls
        System.out.println(cls);    //显示cls对象,是哪个类的Class对象 com.ftn.Car
        System.out.println(cls.getClass());     //显示运行类型  java.lang.Class

        //3.得到包名
        System.out.println(cls.getPackage().getName());     //Class对象对应类所在的包名

        //4.得到全类名
        System.out.println(cls.getName());

        //5.通过cls创建对象实例
        Object o = cls.newInstance();
        System.out.println(o);

        //6.通过反射获取属性
        Field brand = cls.getField("brand");
        System.out.println(brand.get(o));

        //7.通过反射为属性赋值
        brand.set(o,"AUDI");
        System.out.println(brand.get(o));

        //8.通过反射获取所有属性
        Field[] fields = cls.getFields();
        for (Field f : fields) {
            System.out.println(f.get(o));
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292935.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号