易截截图软件、单文件、免安装、纯绿色、仅160KB

Java的main方法与类的加载的联系

鉴于许多同学对这个main方法的迷惑!我这里提供一些意见,希望对大家有帮助!呵呵!
     ****我们说加载先:
      Java的类是用到才开始加载的,并且在每个类的构造器调用之前,类的每个域(成员变量)都要首先被编译器初始化一次,然后才轮到构造器来干活儿。但是,Java的初始化是惰性的,它没有C++构造函数的苛刻的要求,Java编译器会保证每个变量在使用之前会被初始化,因此Java中只要求程序员在合适的地方为类成员给一个有效的值即可。
      一个static变量在没有类实例的时候也是可以使用的,这就要求static必须被恰当地初始化,也就是说,在构造器的调用之前,加载类的时候,Java编译器会允许JVM运行一段代码,至少可能会有几行。
     ****程序开始的时候类加载的时候所做的工作流程是怎样的?
     每当执行Java编译器的时候,编译器会寻找指定的类,当它找到类时,首先需要初始化static变量,因为这些成员可以在没有实例的情况下运行,接着,再按照变量的声明顺序依次初始化类的成员,成员初始化完毕之后才为自己调用构造器,一切进行完毕之后,才可以调用方法。但主类比较特殊,主方法会在构造器之前,static变量初始化之后调用,这是由于Java的惰性初始化,在main方法被调用之前无法知道是否存在主类的实例。
     Java的初始化和构造的分离使得Java提供了代码块作为初始化成员的工具和支持无名类的利器,而这样一来,初始化的工作就不免会被扩展,程序员可以嵌入额外的初始化步骤。由于Java的成员分普通成员和static成员,初始化代码块也分static的,例如:
public class Foo{
      int a;
      int b;
      static int c;
     {
            a=-1;
            b=1;
     }//这个就是所谓的初始化代码块
     static {
             c=100;
     }//static成员有专属的static初始化代码块
    


相关文档:

flex通过blazeds与java实现增删改查

用的是MySQL数据库。
1,建一个userdb库,再建userinfo表,字段:id(int),username(varchar),password(varchar)。
create database userdb;
use userdb;
create table userinfo(
id int(10) not null auto_increment,
username varchar(20),
password varchar(20),
primary key(id));
2,DBConnection.jav ......

Lombok 消除Java的冗长


  Lombok是一个开源项目,可以用来消除Java代码的冗长
  详细介绍参看http://www.ibm.com/developerworks/opensource/library/os-lombok/index.html
  下面介绍Lombok如何消除Java代码的冗长。
1.      首先去http://projectlombok.org/. 下载lombok.jar 包
2.  & ......

java中的main你知道吗

   如果你去面试的时候,面试官考你,为什么要在java中的main方法前加public static void这些修饰符,你知道如何去回答吗?下面我为大家讲解一下吧!如果有什么缺漏的话!欢迎大家的指点!
   首先,为什么要用public:
   因为在运行程序时,jvm要调用main方法,但我们都应该知道jvm ......

JAVA对象转换为XML格式

JAVA对象转换为XML格式
    简单的颤述下如何将JAVA对象转换为XML格式,详细了解请进入http://xstream.codehaus.org/tutorial.html
  
 JAVABEAN对象
 
  userInfo.java
         private String name;
   & ......

java构造器

 构造器是为了创建一个类的实例。这个过程也可以在创建一个对象的时候用到:Platypus p1 = new Platypus();
  相反,方法的作用是为了执行java代码。
  修饰符,返回值和命名的不同
  构造器和方法在下面三个方便的区别:修饰符,返回值,命名。和方法一样,构造器可以有任何访问的修饰: public, protected ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号