Java Object和Class

Java Object: 拥有一组行为和状态。
Java Class: 描述Object的行为和状态。
通过Class对象,我们能获得Object对象的变量和方法。
下面一个例子:

package ttttt;

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

class A {
    private int age = 10;

    public void doSomething() {

    }
}

public class Test {
    public static void main(String[] args) {
        A a = new A();
        Class<?> clazz = a.getClass();
        Field[] fields = clazz.getDeclaredFields();
        Method[] methods = clazz.getDeclaredMethods();
        for (Field f : fields) {
            f.setAccessible(true);
            int i = f.getModifiers();
            System.out.println("the modifies is private: "+(i==Modifier.PRIVATE));
            System.out.println("the tyep is "+f.getGenericType());
            try {
                System.out.println("the initial value is "+f.getInt(a));
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }

            System.out.println("the field is "+f);
        }
        for (Method f : methods) {
            System.out.println("the method is "+f);
        }
    }

}

另外,可以调用Object.class 和new Object().getClass()获得Class 对象,两者有点不同,前者可以理解是在编译期间,后者是在运行时。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,686评论 0 11
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,356评论 11 349
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,588评论 3 93
  • 前几天跟一位同学聊天,问她在干嘛。她说看《欢乐颂》,后面我没法接话。因为平常不怎么看电视剧,也就没法按着这个话题聊...
    喃自语阅读 319评论 0 0