java return问题

qq724162890 2011-08-05 09:35:25

public String d(){
return "sdf";
}

public int dd(){
return 1;
}

public static void main(String[] args) {
Test16 t=new Test16();
System.out.println(t.d()+"\n"+t.dd());
}


return "sdf"与return 1,我没有直接给他们定义类型,然后打印出来的结果,我想问问这在这种过程中,他们的类型jvm是怎么定义的
...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
皮皮 2011-08-05
  • 打赏
  • 举报
回复
里面没有什么机制。

纯是语法问题。


public String d(){
return "sdf";
}
和 String d="sdf";
是一样道理。前者只是用你方法d() 去引用常量“sdf”;后者是用变量 d 引用常量“sdf”;
剑神一笑 2011-08-05
  • 打赏
  • 举报
回复
public String d(){
return "sdf";
}
看红色部分
方法的返回值类型已经定死了
t.d()就是String类型的
贪睡的兔子 2011-08-05
  • 打赏
  • 举报
回复
public String d(){
return "sdf";
}

public int dd(){
return 1;
}
方法是带返回值的 String int 你要在ruturn里随便写 编译时通不过的
qq724162890 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cbxjj 的回复:]
这还没直接你定义类型啊 方法的返回值类型决定了return的类型
t.d()+"\n"+t.dd() int 加上string 会自动转换为string
[/Quote]

你说return就已经定义类型了,我的意思就是这个,为什么return就能识别类型,哪些是int型,哪些是string型,我就是想了解里面的机制
qq724162890 2011-08-05
  • 打赏
  • 举报
回复
t.d() 它是int型
t.dd() 它是string型,我都没有定义,自动给了他们类型,
如果我return一个jvm无法识别的类型,它也自动能转型?
qq724162890 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cbxjj 的回复:]
这还没直接你定义类型啊 方法的返回值类型决定了return的类型
t.d()+"\n"+t.dd() int 加上string 会自动转换为string
[/Quote]

我当然知道自动转型,我就是想问jvm里面自动转型的机制,它是怎么实现的!
剑神一笑 2011-08-05
  • 打赏
  • 举报
回复
这还没直接你定义类型啊 方法的返回值类型决定了return的类型
t.d()+"\n"+t.dd() int 加上string 会自动转换为string

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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