代码如下:import java.lang.reflect.*;
 class UserInfo {
  public String name,password;
  public String getName(){
   return name;
   }
  }
  class UserInfoMore extends UserInfo {
        public String email,address;
        public void setEmail(String email) {          this.email = email;
        }
   }
   public class GetParentClass{     public static String getParentClass(UserInfoMore urm){           Class o = urm.getClass().getSuperclass();
           System.out.println("hello"+o.getName());
           return o.getName();     }
     public static void main(String[] args){         UserInfoMore urm = new UserInfoMore();         System.out.println("hello world"+getParentClass(urm));
     }
   }
为什么会先执行hello,在执行hello world的内容
  

解决方案 »

  1.   

    在每一个要执行的方法里写一句
    System.out.println("方法名");
      再调行就可以了
      

  2.   

    在调用println方法之前首先要求出它的参数:"hello world"+getParentClass(urm)如果连参数都不知道,又如何能调用方法呢
      

  3.   

    System.out  是PrintStream 类的一个实例 PrintStream 类先读入整个字节数组全部后再输出 在调用flush()输出 
    System.out.println("hello world"+getParentClass(urm));
    是先调用getParentClass(urm) 获得一个String  str后
    这时要输出的 String  ("hello world"+str) 全部读入完毕才输出;
    并不是读入一个字节输出一个字节