题目:编写一个类,拥有俩个静态字符串字段,其中一个在定义处初始化,另一个在静态块中初始化.现在,加入一个静态方法用以打印出俩个字段值.请证明他们都会在被使用只强完成初始化动作.
   我写的code 如下:
class different
{
static String s1="it is a simple one@";
static String s2;
 static 
 {
  s2="it is second one#";
 }
 
public static void different()
  {
  
   System.out.println("s1="+s1);
   System.out.println("s2="+s2);
   }

}

public class t416_different
{
public static void main(String args[])
{
 different s =new different();
}

}
  结果屏幕上什么也不显示,这是怎么搞的?

解决方案 »

  1.   

    public static void different()
      {
      
       System.out.println("s1="+s1);
       System.out.println("s2="+s2);
       }这不是构造函数,
    应该是:
    public different()
      

  2.   

    public static void main(String args[])
    {
     different s =new different();
              s.diffrent();
    }
    调用方法啊!!
      

  3.   

    支持 dyhml(VirusCamp)的说法!!!
      

  4.   

    public static void different()不是构造函数,只是个方法名和类名相同的静态方法.
    public different()才是构造函数
      

  5.   

    正确的说法是:静态代码块在类被加载到运行环境中时执行一次。class different
    {
    static String s1="it is a simple one@";
    static String s2;
     static 
     {
      s2="it is second one#";
     
      System.out.println(s2);
     }
     
     
     
     
     
    /*public static void different()
      {
      
       System.out.println("s1="+s1);
       System.out.println("s2="+s2);
       }
    */



    public static void main(String args[])
    {
     different s =new different();
    }



    }
    像这样屏幕就会打印
      

  6.   

    楼主搞错了,构造函数应该是public different()楼主要多看书了,呵呵
      

  7.   

    题目要求是"加入一个静态方法用以打印出俩个字段值", dyhml说的好象没有明白我的意思,public different()这个不是静态方法吧,呵呵~
       fansy007你的这个方法,是用main()静态方法打印的吗?
       总之,很感谢各位的帮忙!