Java Class对象

来源:互联网 发布:音视频格式转换软件 编辑:程序博客网 时间:2024/05/20 06:52

       在反射中,说了一句话,Class对象是所有实例对象的基础,并且Class对象是唯一的,一个程序并且在开始的时候就全部加载所有的代码,是按需加载的。当遇到要创建一个类时,先看看它的Class对象是否在内存中,如果没有就加载,就加载.class文件,如果有这个Class对象,就不用加载.class文件。

       再来讨论这个Class对象存储在哪里呢?它存储在方法区中,再看看方法区存储着什么样的信息,它存储的是类的描述信息,如类名,接口,方法等信息。

       一个实例化的对象建立的过程如下:

       先执行静态代码块,这个是所有实例对象共同使用的;

       然后执行普通代码块;

       最后是构造函数。

       下面用一个例子来说明。

        public class Demo{

static{

   System.out.println("static");

}

{

System.out.println("normal");

}

public Demo()

{

System.out.println("constructor");

}

public static void main(String args[]){

Demo d=new Demo();

}

     }

     输出:static、normal、constructor。

    

原创粉丝点击