2023.10.18 区别 对象 和 类对象

目录

对象

类对象 

总结 


对象

  • 对象是类的实例化结果
  • 它是内存中的一块区域,包含了该类的属性方法的具体值和实现
  • 对象具有唯一的标识、状态、行为
  • 通过创建类的实例,我们可以在程序中操作和处理具体的对象

简单实例

class Person {
    public int high = 183;

    public void say() {
        System.out.println("hello");
    }
}

public class Main1 {
    public static void main(String[] args) {
        Person person = new Person();
    }
}
  • 上述代码中的 person 就是 Person 类的一个对象

类对象 

  • 类对象是描述类本身的对象
  • 在 Java 中,每个类在内存中都有一个对应的类对象
  • 类对象用于描述该类的结构信息,如类的名称、属性、方法等
  • 类对象是在类加载的过程中被创建的,它存储了关于该类的元数据
  • 类对象本身也是一个对象,它是 java.lang.Class 类的实例

简单实例

  • 类对象提供了一些特殊的方法和属性,可以用于获取和操作类的结构信息
import java.lang.reflect.Field;
import java.lang.reflect.Method;

class Person {
    public int high = 183;

    public void say() {
        System.out.println("hello");
    }
}

public class Main1 {
    public static void main(String[] args) throws InstantiationException, IllegalAccessException {
//        获取 Person 的类对象
        Class personClass = Person.class;

//        获取类的名称
        String className = personClass.getName();
        System.out.println("类的名称:" + className);

//        获取类的属性
        Field[] fields = personClass.getDeclaredFields();
        for (Field field : fields ) {
            System.out.println("类的属性:" +field.getName());
        }

//        获取类的方法
        Method[] methods = personClass.getDeclaredMethods();
        for (Method method : methods) {
            System.out.println("类的方法:" +method.getName());
        }

//        创建类的实例
        Person person = (Person) personClass.newInstance();

    }
}

运行结果:

2023.10.18 区别 对象 和 类对象_第1张图片

总结 

  • 对象 是类的实例化结果,代表具体的数据和行为
  • 类对象 是描述类本身的对象,存储了关于类的结构信息。它是类的元数据,用于获取和操作类的信息和行为

2023.10.18 区别 对象 和 类对象_第2张图片

你可能感兴趣的:(java类和对象,java,jvm,开发语言)