What will happen when you attempt to compile and run the following code?class MyClass 
{
   static String myName = "SCJP";
  
MyClass getMyClass() //这是什么东东我没见过这样的定义哦
   {     
      System.out.println(myName);
      return null;     
   }   public static void main(String[ ] args) 
   {
     System.out.println( new MyClass().getMyClass().myName );//这里会输出什么呢?
   }
}

解决方案 »

  1.   

    MyClass getMyClass ()返回类型public String kk(){}
    public void kk(){}SygetMyClass ()stem.out.println( new MyClass().getMyClass().myName )打印字符串两次,一个是调用方法是打印
      

  2.   

    print SCJP one time,and throw NullPointerException.
      

  3.   

    Strange,just print SCJP two times!
      

  4.   

    我给分解了一下你看看!
    class MyClass 
    {
       static String myName = "SCJP";
      
    MyClass getMyClass() //定义返回值是一个MyClass型的复合数据类型   {     
          System.out.println(myName);
          return null;     
       }   public static void main(String[ ] args) 
       {
        
         MyClass aa=new MyClass();
         MyClass bb=aa.getMyClass();//生成了一个复合数据类型的对象bb,同时这里要打印一个SCJP
        
         System.out.println( bb.myName);//这里要打印一个SCJP
        
        
       }
    }