j2se程序执行顺序

ZHANGBINFLY 2008-10-11 10:28:10
代码如下:
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的内容
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wNvShine 2008-10-12
  • 打赏
  • 举报
回复
static方法是首先被加载的
wNvShine 2008-10-12
  • 打赏
  • 举报
回复
调试下...
lml8971 2008-10-12
  • 打赏
  • 举报
回复
System.out 是PrintStream 类的一个实例 PrintStream 类先读入整个字节数组全部后再输出 在调用flush()输出
System.out.println("hello world"+getParentClass(urm));
是先调用getParentClass(urm) 获得一个String str后
这时要输出的 String ("hello world"+str) 全部读入完毕才输出;
并不是读入一个字节输出一个字节
huoyin 2008-10-11
  • 打赏
  • 举报
回复
在调用println方法之前首先要求出它的参数:"hello world"+getParentClass(urm)

如果连参数都不知道,又如何能调用方法呢
不知起什么名 2008-10-11
  • 打赏
  • 举报
回复
在每一个要执行的方法里写一句
System.out.println("方法名");
再调行就可以了
ZangXT 2008-10-11
  • 打赏
  • 举报
回复
先自己单步调试一下.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧