Object和Class

Object和Class

Object类是所有类的祖先类,定义所有的的类应该具有的基本方法
Class对象表示类的定义信息,通过这个对象可以得到类名、属性、构造方法和其他方法的定义信息
Object
类Object是类层结构的根类。如果把一个类在定义的时候没有声明父类,系统会把Object类作为父类,所以Object是所有类的祖先类。所有对象(包括数组)都实现这个类的方法。
主要方法:
      protected Object clone(),创建并返回此对象的一个副本
      boolean equals(Object obj),用于判断当前对象和参数指定的对象是否相同,通常比较内容。
 
Class
Class表示类的定义信息,可以通过对象来获取Class对象。得到Class对象的方式:
             Class studentInfo=Student.class;
             或者
             Student student=new Student();
             Class studentInfo=student.getClass();
得到Class对象后,可通过Class对象获取关于类定义的各种信息
             ——getName(),得到类名,包含包的名字;
             ——getSimpleName(),仅得到类名;
             ——getPackage(),得到这个类所在的包;
             ——getModifiers(),得到类的修饰符;
             ——getFields(),得到所有属性;
             ——getMethods(),得到所有方法
Class的其他方法,查阅帮助文档
例子:4.19
显示Student类定义的信息,包括类名、包名、访问控制符、属性列表和方法列表。
package example4_19;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class Student {
    private String sid;
    public String sname;

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public static void main(String[] args) {
        Student student = new Student();
        Class c = student.getClass();
        // Class c2 = Student.class;
        System.out.println("类名:" + c.getName());
        System.out.println("包名:" + c.getPackage().getName());
        int modifier = c.getModifiers();
        if (Modifier.isPublic(modifier)) {
            System.out.println("类的访问控制符是public");
        } else {
            System.out.println("类的访问控制符是缺省的");
        }
        System.out.println("属性列表:");
        Field fields[] = c.getFields();

        for (int i = 0; i < fields.length; i++) {
            System.out.println(fields[i].getName());
        }
        System.out.println("方法列表:");
        Method methods[] = c.getMethods();
        for (int i = 0; i < methods.length; i++) {
            System.out.println(methods[i].getName());
        }
    }
}
运行结果:
 
 
 
 

转载于:https://www.cnblogs.com/jichui/p/7780789.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值