急,java构造函数没有返回值与void型方法的本质区别(求助)

king7jdx 2007-10-17 12:59:46
Think in java里面有这样一句话:构造函数没有返回值,这一点同void型的方法有着本质的区别,void型的方法什么都不返回,但这是你决定的,你也可以让它返回些什么.而构造函数则什么都不返回,而且你别无选择.

那请问:我能让void型的方法返回些什么呢???(它说是有你决定的),请大家为举个例子,谢谢
...全文
1587 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
学会生活 2011-03-25
  • 打赏
  • 举报
回复
理解能力真的很重要啊!
“void型的方法什么都不返回,但这是你决定的,你也可以让它返回些什么。而构造函数则什么都不返回,而且你别无选择.”----这句话的意思是,是你决定让这个方法返回void类型的,你也可以改变它不让它返回的是void,而返回其他的类型如int,String等。但是对构造方法你就没机会决定它的返回类型是什么了。
原文没问题,翻译也没问题,是楼主理解错了。
ssd189 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dan1980 的回复:]
楼上那位说函数指针的朋友,扯到一边去了吧?

我终于知道什么叫“钻牛角尖”了。

这个译文对原文的意思有曲解。原文是:

The constructor is an unusual type of method because it has no return value. This is distinctly different from a void return value, i……
[/Quote]而且如果如这里说的改变返回类型,那也就不是void方法了,这里的“in which the method returns nothing but you still have the option to make it return something else”。那这里的it也就无从解释了(它不是void方法吗?)。我觉得这里的意思不是改变返回类型,而是void方法确实会返回一些什么东西,比如方法控制权。
ssd189 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dan1980 的回复:]
楼上那位说函数指针的朋友,扯到一边去了吧?

我终于知道什么叫“钻牛角尖”了。

这个译文对原文的意思有曲解。原文是:

The constructor is an unusual type of method because it has no return value. This is distinctly different from a void return value, i……
[/Quote]“这完全不同于一个返回值为void类型的方法,这个方法没有返回任何东西,但是你仍然有这样的选择,使得它返回别的什么东西。”而不是如上面解释的改变它的返回类型,至少英文里没有说这句话。我感觉不是翻译的问题,如果是我我也这样翻译,因为译者不能凭空区猜测作者的意图。译者的英文水平不会比我们的差。只是大师在这里也没有说清楚啊(写出一本旷世之作也是辛苦的事,难免会有瑕疵)。
zqfddqr 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dan1980 的回复:]
楼上那位说函数指针的朋友,扯到一边去了吧?

我终于知道什么叫“钻牛角尖”了。

这个译文对原文的意思有曲解。原文是:

The constructor is an unusual type of method because it has no return value. This is distinctly different from a void return value, i……
[/Quote]这都找到了啊 给力呵呵
yangxuanCSDN 2011-03-24
  • 打赏
  • 举报
回复
我看了下,差点都迷惑了。Void Method 方法是没返回值的,就算加了个Rrturn 也只是想当于Break,跳出函数的意思。有返回值的方法才能返回值,差点就搞混了。谢8楼了。得多看下英文版的了,省的有些中文翻译过来的意思都曲解了。
wangli20092010 2011-03-24
  • 打赏
  • 举报
回复
void 是没有返回值的。用到方法也可以说是过程。你可以传递参数但不能返回值。如果想要返回值,可以根据需要返回的类型选择返回值类型,但是void是不可以返回任何值的
tongxingzhen123 2011-03-24
  • 打赏
  • 举报
回复
路过看看
孤鸿掠影 2011-03-24
  • 打赏
  • 举报
回复
构造方法是什么都没返回,而且连void都没有,方法体里面当然没有return了。而且这一点你的确改变不了。

但是void方法,虽然是无返回值的,但是又的时候你可以再方法里面加return;或者return null;return,虽然实际上没有返回什么,只是为了终止调用。

我想着应该是think in java里面说的“可以选择”的意思吧。。。
whut_lcy 2011-03-24
  • 打赏
  • 举报
回复
咬文嚼字的来了
love417483544 2011-03-24
  • 打赏
  • 举报
回复
看译文就是这样的坏处,建议看深层次和经典的好书的时候最好看原版,即使是英文的也别去看译文!!那样子才可以得到最精确的“味”。
thinkway 2007-10-30
  • 打赏
  • 举报
回复
晕,看到楼主的问题也被迷惑了,谢谢Dan1980的正解,歪曲原意的翻译真是害死人哪!
king7jdx 2007-10-30
  • 打赏
  • 举报
回复
原文没看过,只看了看译文,看了觉得奇怪,就拿上来问问!谢谢楼上的解释!
Dan1980 2007-10-19
  • 打赏
  • 举报
回复
楼上那位说函数指针的朋友,扯到一边去了吧?

我终于知道什么叫“钻牛角尖”了。

这个译文对原文的意思有曲解。原文是:

The constructor is an unusual type of method because it has no return value. This is distinctly different from a void return value, in which the method returns nothing but you still have the option to make it return something else. Constructors return nothing and you don’t have an option.

大致意思是说:void方法虽然不返回任何东西,但这是你决定的,void方法不是生来就是这样,只要改变它的返回类型,你就可以让它返回别的什么,int,String,等等。但对于构造方法,你当然没有这样的选择了。所以说,这是一个本质区别。

作者根本没有说“You can make a void method to return something.”而是说“You have the option to make a void method to return something else.”

注意“have the option”和“something else”这两个短语,译文的意思显然有出入。
beiouwolf 2007-10-18
  • 打赏
  • 举报
回复
他说的void概指我们常说的方法
包括了public void ** 和 public (function) **
其实void方法也有返回的,只是这个返回是没有值的
普通的方法就是返回的时候带了确定的值

public void test(){
****
return;
}
void方法标准写法应该象这样,只是最后的return可以忽略
public int test(){
***
return 0;
}
function方法有一个明确的返回值

king7jdx 2007-10-17
  • 打赏
  • 举报
回复
那是不是说这句话:"void型的方法什么都不返回,但这是你决定的,你也可以让它返回些什么"表达的不正确呢?

beiouwolf 你能把你的意思说得详细点吗? 没看明白呢^^^ 谢谢
piaopiao11 2007-10-17
  • 打赏
  • 举报
回复
在java里面void好像是个基础类型 System.out.println(void.class);
在java.lang 包下面还有一个Void类
冰思雨 2007-10-17
  • 打赏
  • 举报
回复
上面这句话的主要目地,是让你能够理解:通常所说的函数(除了构造函数),它的功能和目的,是用来处理数据的(类内部的成员变量以及传入的外部参数等等)。而构造函数,则是在实力化类的时候,为类实例的成员变量进行初始化操作。
当然,通常所说的函数,一般情况下,都会有一个返回值。当你觉得函数不需要返回值来返回信息给“使用者”的时候,那么,声明函数的时候,用void关键字就可以了。
beiouwolf 2007-10-17
  • 打赏
  • 举报
回复
他指的void应该是说函数指针void*
也就是包括了void和 function
概指用户编写的方法
king7jdx 2007-10-17
  • 打赏
  • 举报
回复
在线等待^^^ ing

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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