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

Java中对象的生命周期

  (1) 对象生命周期的开始
             对象生命周期开始时,需要为对象分配内存,并且初始化它的实例变量;
           对象生命周期结束
             Java虚拟机的垃圾回收线程回收对象的内存。
  (2) 创建一个对象指创建一个类的实例,前提是类被初始化,对象可以被显式或者隐式创建,显式创建对象有以下几种方式
           a. new语句创建对象
           b.利用反射机制,调用java.lang.Class的forName()和java.lang.reflect.Constructor的newInstance()方法
              Class objClass = Class.forName("Customer");
Customer c = (Customer)objClass.newInstance();
           c.调用对象的clone()方法
           d.运用反序列化方法,调用java.io.ObjectInputStream类的readObject()方法
  (3)使用new或者反射的方法时,会执行类的构造函数,使用对象的clone方法,不会调用构造函数。
  (4)关于clone()
          a. Object类中声明为protected类型,如果Object的子类想对外公开clone()方法,需要扩大访问权限;
          b. 使用clone()方法需要实现Cloneable接口;
          c.调用clone()方法会创建一个复制的对象,这个对象和原来的对象具有不同的内存地址,但是他们的属性值相同;
  (5)隐式地创建对象
          a. java命令的命令行参数
          b. String类型的直接数对应一个String对象
          c. 字符串操作符“+”结果为一个新的String对象
      &


相关文档:

Java语言中关键字讲解(二)transient的用途

1.什么是序列化
对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可 能需要 将 对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力 。叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的序列化(Serialization) 。序列化 ......

【奋斗第一天】菜鸟学习Java之我的面向对象观


大学两年了,一直浑浑噩噩,最近上了一些学习论坛,发现自己的知识太匮乏了,感觉怎么的自己也是个软件专业的学生,学了两年讲到应用却什么都不会,于是我觉得开始奋斗的人生!!!于是我选择了Java这么语言作为我奋斗的起点,原因很多,第一,在大学学过C和C++(只是学过,学的很不好),所以有点编程的基础吧,第二,Ja ......

java中的sizeof


关键字: java sizeof
     在C/C++中,当我们想知道一个对象或者一个原始数据类型所占用的内存大小时,只需简单调用sizeof操作符即可,但是,在java中是没有相应的操作符或者方法来直接完成相应功能的。sizeof 在C/C++得到大量的运用,是程序员必不可少的工具之一,那么为什么java却不提供呢?要回 ......

Java类的初始化顺序

Java类的初始化顺序
  我把Java类的初始化顺序分为两部分。第一部分是类的初始化,第二部分是对象的初始化。
  在初始化之前JVM必须先把该类的字节码加载到内存中来。这时不管创不创建对象都会马上执行类的初始化:
  执行静态初始化表达式(如static int a = 10)和静态初始化块(即static{}中的内容),注意两 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号