六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 48|回复: 0

对象创建过程

[复制链接]

升级  30%

25

主题

25

主题

25

主题

秀才

Rank: 2

积分
95
 楼主| 发表于 2013-2-1 09:44:37 | 显示全部楼层 |阅读模式
对象创建过程
 
假如创建类Hello的对象:
 
(1)当首次创建类型为Hello的对象或Hello类的静态方法/静态域首次被访问时,java解释器必须查找类路径,定位Hello.class.
(2)载入Hello.class(这将传经一个Class对象),有关静态初始化的所有动作都会执行。因此,静态初始化只在Class对象首次加载的时候进行一次。
(3)当用new Hello()创建对象的时候,首先将在上为Hello对象分配足够的存储空间
(4)这块存储空间会被清零,Hello对象的所有基本类型数据都设置为默认值,而引用被设置为null。
(5)执行所有出现于字段定义处的字段初始化动作
(6)执行构造器。
 
 
静态成员初始化
 
public class Think {public static void main(String ars[]){Cups.c.f(3);Cups.c.f(5);}}class Cup{void f(int m){System.out.println(m);}}class Cups{static Cup c;//静态子句,只执行一次,首次创建类型为Hello的对象或Hello类的静态方法/静态域首次被访问时static{c = new Cup();System.out.println("sdsds");}//构造函数未执行Cups(){System.out.println("构造CUPS");}} 非静态实例初始化:使用new关键字
 
 
 
 
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表