恳请大佬帮我详细解释下这个代码错误原因

h3 发布于 2017/08/18 11:40
阅读 130
收藏 0
class A{
	public void fun(){
		System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa");
	}
}
public class Task{
	public static void main(String args[]){
		A a = new A();
		System.out.println("bbbbb" + a.fun());
	}
}

 

加载中
1
我也不会啊
我也不会啊

你a.fun()返回的是null 啊,当然不能通过编译,你以为返回的是“aaaaaaaa” 吗?,而且你的第二个类似public,有问题啊

h3
h3
哦,明白了。
1
雪梨苹果
雪梨苹果
"bbbbb" + a.fun()

这个。。。

1
DeMoNHaDeS
DeMoNHaDeS
    public void fun(){
		System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa");
	}

改为

    public String fun(){
		return "aaaaaaaaaaaaaaaaaaaaaaaaa";
	}

 

1
tcxu
tcxu

出错的代码行:

System.out.println("bbbbb" + a.fun());

改为:

System.out.print("bbbbb"); 
a.fun();

 

h3
h3
回复 @tcxu : 谢谢指点。
tcxu
tcxu
回复 @h3 : "bbbb" 是字符串, 它的后面只能 连接(追加) 一个字符串。这个字符串存于某个地址里。而调用A的方法 fun(), 即 a.fun(), 返回的是空(null), 即 没有地址,结果,无法连接。因此,'bbbb' 跟a.fun()不能连接 
雪梨苹果
雪梨苹果
回复 @h3 : 因为是java不是弱语言
mklop2014
mklop2014
没有return
h3
h3
我是想问'bbbb' 跟a.fun()为什么不能连接
返回顶部
顶部