Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 关于System类的一个问题,跪请教
ququzhuzhu





发贴: 4
积分: 0
于 2005-07-29 08:03 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我们都知道System.in.println();表示打印字符串,因为in是System类的静态成员变量,并且是InputSteam对象类型的,所以in就可以调用InputStream类的Println方法;但是我在
System类的原代码中发现in不指向如何对象,代码如下(你们也可以自己去看System类):public final static InputStream in = nullInputStream();
private static InputStream nullInputStream() throws NullPointerException {
if (currentTimeMillis() > 0)
return null;
throw new NullPointerException();
}
表达式currentTimeMillis() > 0当然会成立,说明函数NullPointerException的返回值是null,既然in不指向任何对象,又怎么能调用InputStream类的成员方法呢?
在System类的开始有这么一段代码:
private static native void registerNatives();
static {
registerNatives();
}
代码中的native我是在不知道为何用?还有registerNatives()这个方法并没有实现代码,这是为什么呢?假如native表示调用本地的此方法,那么本地的方法是放在那呢?在那个具体的类呢?
请各位java爱好着帮帮我这个忙,跪谢。




话题树型展开
人气 标题 作者 字数 发贴时间
4765 关于System类的一个问题,跪请教 ququzhuzhu 699 2005-07-29 08:03
3922 Re:关于System类的一个问题,跪请教 gip 37 2005-07-30 17:21
3815 Re:关于System类的一个问题,跪请教 why 129 2005-07-30 18:15

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923