2023.10.18 Java 关于 对象 和 类对象

文章讲述了Java中的对象和类对象的概念,包括对象如何表示类的实例,类对象存储类的结构信息如属性和方法,并通过反射API进行访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

对象

类对象 

总结 


对象

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

简单实例

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<Person> 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();

    }
}

运行结果:

总结 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茂大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值