java菜鸟求助,在调用另一个类的变量时为什么返回值为null

代码如下:publicclassShiyan2{inta;buweid;voidb(){System.out.println(d);}publicstaticvoidma... 代码如下:public class Shiyan2 {int a;buwei d;void b(){System.out.println(d);}public static void main(String[] args) {Shiyan2 c1 = new Shiyan2();c1.a=15;buwei c2 = new buwei();c2.c=169;c1.b();}}class buwei{int c;} 展开
 我来答
microroom
科技发烧友

2019-06-27 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1642万
展开全部
buwei d;d从未赋值,当然是默认值null。
在13行的下面加上:
c1.d=c2;
为c1的d赋值。
追问

大神说的应该是没有错的

为什么加上之后就输出

这个啊

追答
因为你输出的d是一个对象,输出一个对象的默认行为是调用此对象所属类的 toString方法将其转换为一个字符串。而类buwei并没有复写Object类的toString方法,所以调用的是继承自Object类的toString方法。而Object类的toString方法返回的字符串是这样组成的:包名.类名@对象的16进制哈希码。这里sunxx是包名,buwei是对象d所属的类名,@后面是d的16进制哈希码。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式