为了账号安全,请及时绑定邮箱和手机立即绑定

什么是类加载?为什么再一次创建类的对象时(最后一行代码)构造方法和普通初始化块会再执行一次?

什么是类加载?为什么再一次创建类的对象时(最后一行代码)构造方法和普通初始化块会再执行一次?

HelloBot 2016-03-16 16:43:05
package com.imooc;public class HelloWorld {      int num1;  int num2;  static int num3;  public HelloWorld(){  num1 =91;  System.out.println("通过构造方法为变量num1赋值");  }  { num2=74; System.out.println("通过普通初始化块为变量num2赋值");  }  static {   num3=83; System.out.println("通过静态初始化块为num3赋值");  }  public static void main(String[] args){  HelloWorld hello = new HelloWorld();  System.out.println("num1:"+hello.num1);  System.out.println("num2:"+hello.num2);  System.out.println("num3:"+num3);    HelloWorld hello2=new HelloWorld();  }  }
查看完整描述

3 回答

?
rookie2maven

TA贡献278条经验 获得超76个赞

类加载简单点说就是Java虚拟机在运行时加载编译后以.class结尾的文件。再次创建时需要构造器和初始化快提供生成.class
文件必要的信息,你可以看看Java虚拟机的工作原理。


查看完整回答
1 反对 回复 2016-03-19
  • 3 回答
  • 0 关注
  • 1280 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信