首页 > 其他分享 >获取Class对象

获取Class对象

时间:2023-03-16 15:34:25浏览次数:30  
标签:name 对象 age Dog public 获取 Class String

public class ReflectDemo {

    public static void main(String[] args) throws ClassNotFoundException {

        // 获取Class对象的三种方式

        // 1、当类文件没有加载到内存中,还是源代码阶段时,可以用Class类中的静态方法forName(String className)获取Class对象
        // String className是全类名(包名+类名)
        Class clazz1 = Class.forName("com.unit1.test.reflect.Dog");
        System.out.println(clazz1);

        // 2、当类文件编译为class文件加载到内存中时,可以用类名.class获取Class对象
        Class clazz2 = Dog.class;
        System.out.println(clazz2);

        // 3、当new了类对象时,可以用对象.getClass()获取Class对象,所有的对象都能获取到类的字节码文件,getClass()是定义在Object类中的
        Dog dog = new Dog();
        Class clazz3 = dog.getClass();
        System.out.println(clazz3);

        // 一个类的Class对象是唯一的
        System.out.println(clazz1 == clazz2);
        System.out.println(clazz1 == clazz3);

    }

}
public class Dog {

    private String name;
    private int age;

    public Dog() {}

    public Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void eat() {
        System.out.println("吃");
    }

    @Override
    public String toString() {
        return "Dog [name=" + name + ", age=" + age + "]";
    }

}

 

标签:name,对象,age,Dog,public,获取,Class,String
From: https://www.cnblogs.com/weiduaini/p/17222760.html

相关文章

  • 【JavaScript】用Object.definePropety()对对象的属性实现监听和修改_TA远方的博客
    本文中会讲到对象函数Object.defineProperty(),也许你对这个函数比较陌生,要知道这个函数用途可大了,等自己想到它的时候,就知道它的重要性。文章目录举个栗子赋值其它......
  • ContentChildren 胡获取不到所有组件的解决办法
    <app-content-child><divclass="head">这是头部<app-content-child-panel></app-content-child-panel></div><app-content-child-panel></app-content-......
  • Vue.js 绑定class样式
    视频<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"/> <title>绑定样式</title> <style> .basic{ width:400px; height:100px; border:......
  • Scrapy中Request对象的属性和方法
    Scrapy中的Request对象是用于表示一个HTTP请求的类。以下是一些常见的属性和方法:属性:url:请求的URL。callback:在响应返回后,将调用的回调函数。method:请求方法,默......
  • Gin 获取请求参数
    1、获取URL?后的参数(不区分请求方式)//获取请求url?后的参数(url:8080/add?name=kelvin)funcGetUrlParam(ctx*gin.Context){name:=ctx.Query("name")de......
  • c++ 创建对象
    1.定义类一般写在.h文件中#include<string>#include<iostream>usingnamespacestd;voidprint(charcontent[]);voidTestString1();voidTestString2();voidTe......
  • Scrapy中的response对象的属性及方法,附加mate属性的使用方法
    responseScrapy中的`response`对象是一个包含HTTP响应的Python对象,具有以下属性和方法:**属性**url:响应的URL。status:响应的HTTP状态码。headers:包含响应头信息......
  • 对象和数组的扁平化
    扁平化就是对数据结构处理,把树状的结构平铺开来,变成链状的,这个过程是一定会用到循环的,我们要判断当前数据是否有嵌套元素。对象扁平化把对象里的数据平铺成一个个键值......
  • java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    在一个servlet中连接数据库,加载驱动报错,将异常抛了出来。  解决方案:创建的Maven项目中,在web.xml中引入了mysql的驱动,但是创建的servlet需要使用Tomcat服务器,Tomcat中......
  • QOpenGLTimeMonitor Class
    DetailedDescriptionQOpenGLTimeMonitor类是一个便利的包装器,用于收集OpenGL计时查询对象,以测量您的渲染应用程序所需的粒度水平的GPU时间间隔。OpenGL计时查询对象按顺......