永发信息网

java中System.out.println()的一个问题

答案:2  悬赏:0  手机版
解决时间 2021-02-04 01:37
查看到java帮助文档里关于System中out的定义是:
public final static PrintStream out = null;
而平时使用就是直接System.out.println(),但println()又非静态方法,推出out一定要先初始化指向一个对象,那么out到底是在哪里被初始化的?
class A
{
public static B bb;
}

class B
{
public void f()
{
System.out.println("haha");
}
}

public class Test
{
public static void main(String[] args)
{
A.bb.f();
}
}

以上的代码中,bb是类A中的静态成员,但是A.bb.f()这行代码虽然编译时没错,但运行时会出现空指针错误怎么解释,但System.out.println();能正常运行啊
最佳答案
System里有如下代码:
private static native void registerNatives();

static {

registerNatives();

}
in和out还有err都是在registerNatives()方法中赋值的,这个方法是本地方法,是JVM调用的操作系统底层方法
全部回答
1.system是java.lang里面的一个类. 2.而out就是system里面的一个数据成员(也称为字段),但这个成员不是基本类,而是java.io.printstream类的对象. 3.被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以system.out是应用了out这个静态数据成员。 4.而out又是一个java.io.printstream类的对象,所以out必然可以调用java.io.printstream类里面的方法,println()就是java.io.printstream类里的一个方法,它的作用就是用来想控制台输出信息的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
无锡华瑞制药有限公司操作工工资待遇如何
潍坊市潍城区北关街道东夏庄社区居民委员会地
8,9,10,15这四个数组成()对互质数
请问深圳武藤写真机怎么样?
复旦国际关系贴吧
新蕾画室地址在哪,我要去那里办事
牧童诗中的机关是什么意思
中国邮政(星湖大街)地址在什么地方,我要处理
下左图是细胞中3种化合物含量的扇形图,右图
惠普 m177 m277 哪个好
asp.net问题,控件绑定时截取字符串!
中国邮政(师专邮政所)地址在什么地方,想过去
盐秀路聚龙桥地址在哪,我要去那里办事
渔家傲 范仲淹 描写边地凄凉壮阔风光的句子
dnf鬼剑士多少级一转?多少级二转?
推荐资讯
段村地址在哪,我要去那里办事
下学期高三了,我不想读,爸妈又要求读完高三
23岁消防员为救95岁老太太火海牺牲,到底值不
车保姆汽车销售装潢中心地址好找么,我有些事
该不该剪短发?
对数周期天线主要用在什么方面?
CF手游地狱烈炎怎么样 地狱火觉醒介绍
下列各项用地中,免征城镇土地使用税的有( 
劳斯莱斯、法拉利、兰博基尼、阿斯顿·马丁、
睢县中信投资咨询服务有限公司地址在哪,我要
刘天华金银首饰加工部在什么地方啊,我要过去
车厘子和什么东西加在一起吃最搭
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?