java吧 关注:1,227,383贴子:12,685,048
  • 6回复贴,共1

为啥最先输出的是“new之前的结果为”?

只看楼主收藏回复

class ClassLoaderTest{
static {
System.out.println(" 执行静态 块 static  block ");
}
public static int age=getAge();
public String str=getString();
public ClassLoaderTest(){
System.out.println(" 执行 构造方法 ClassLoaderTest()");
}
public static int getAge(){
System.out.println("执行 getAge() ,给类变量age赋值");
return 1;
}
public static String getString(){
System.out.println(" 执行 getString(),给实例变量str赋值");
return "String ";
}
{
System.out.println(" 执行实例 块 block ");
}
}
public class ClassLoaderTest1
{
public static void main(String[]args)
{
ClassLoaderTest c1;
System.out.println("new之前的结果");
c1=new ClassLoaderTest();
System.out.println("new之后的结果");
}
}


1楼2016-05-15 10:57回复
    来个人帮帮忙啊


    来自Android客户端2楼2016-05-15 10:59
    回复
      能不能发个截图啊,复制的好多括号都对不上


      3楼2016-05-15 11:01
      收起回复



        4楼2016-05-15 11:35
        回复
          ClassLoaderTest c1;
          这一句执行的时候并没有new 对象,所以才要先输出你说的那句把


          5楼2016-05-15 11:49
          回复