A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© NO? 中级黑马   /  2014-4-11 21:49  /  875 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

静态函数和构造代码块哪个先加载进内存。谢谢

点评

静态:随着类的加载而加载, 构造,在创建对象的时候才加载  发表于 2014-4-12 02:38

6 个回复

正序浏览
静态方法和静态变量,在加载类的时候就会存放在data segment区域,不是放在堆中的,要调用的时候,是不能通过对象名来访问的,而构造代码块是要你是在你new了以后才会执行,
回复 使用道具 举报
无人海 发表于 2014-4-12 05:22
同学 问这种问题是不会给技术分的 打错算盘了 。 惋惜的是 下面认真回答的人  也不会有加分  ...

不一定要加分,同学。你连问题都没看吧
回复 使用道具 举报
同学 问这种问题是不会给技术分的 打错算盘了 。 惋惜的是 下面认真回答的人  也不会有加分
回复 使用道具 举报
静态代码块:用于给类初始化,类加载时就会被加载执行,只加载一次。
  构造代码块:用于给对象初始化的。只要建立对象该部分就会被执行,且优先于构造函数。
  构造函数:  给对应对象初始化的,建立对象时,选择相应的构造函数初始化对象。  
   创建对象时,三者被加载执行顺序:静态代码块--->构造代码块--->构造函数。

答案就呼之欲出了!
回复 使用道具 举报
静态函数先加载进内存中。
静态函数是在类加载的时候就加载进内存中了。构造代码块优先于构造函数,是当类有对象引用的时候,new一个对象,才执行构造代码块,所以是先静态函数,再构造代码块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马