日期:2014-05-20  浏览次数:20813 次

JAVA中关于返回值的问题,求助大神们帮助
今天我想问问,我在编写类的方法的时候,总是分不清什么时候用应该用带返回值的方法,什么时候用带Void的方法,总是混淆不清,我在网上看到很多人说什么“你给我钱我给你饮料”这类的比喻,越看越不明白,哪位高人能给好好讲解讲解,真的很郁闷(千万别给我说我多做练习就可以了,这个方法我知道,我一直在练习.....)

------解决方案--------------------
编程的时候想清楚你的这个方法产生的结果要不要背别的程序段或者方法使用,如果别的程序段或者方法需要用到这个方法的结果,那这个方法就需要返回值了呗。

有点像绕口令。。。。我自己都蒙了。。。看看楼下有木有高银吧。。。
------解决方案--------------------
你可以把一个方法想想成一个黑盒子,不知道里面的具体业务实现方式,你想通过该方法得到什么类型的值就在前面写什么类型,在方法内部return什么类型,如果这个方法你觉得没有必要返回值,就写void了
------解决方案--------------------
方法相当于一个容器,参数是苹果,苹果传到方法里面,假如你想要苹果汁 就给他来个返回值是 苹果汁,想要苹果泥,就来个返回值是苹果泥,假如你就只是放在里面,以后不管苹果烂了还是怎么了,都不管它了,那就 给方法来个 void的空返回值。 有点俗!希望对lz有所帮助!
------解决方案--------------------
关于返回值、、、怎么说呢,你调用一个方法,并且希望通过这个方法获得一个对象的时候你就要写带返回值的方法,比如我通过调用一个方法来获得一个计算结果:public int getNo(){...}要这样写,而如果我只是想通过方法输出内容,就不需要返回值:public void printOut(){...}这样写。
------解决方案--------------------
我这里有个X方法,x(){1+2},我不返回结果,我把他用到另外一个Y方法 里面是1*(1+2),这里正好要用到X的方法里面的东西,这时候我就可以不用在Y方法里面写上1+2,直接把X里的1+2搬过来用就可以了,这就是没有返回值方法的作用体现。然后计算得出Y方法的返回结果是3。

没有返回值的方法注重一个过程的其中一段插曲。

有返回值的方法要的就是结果。
------解决方案--------------------
你需要通过这个方法获得什么样的数据类型,就把该方法定义成什么样的返回数据类型
比如你写一个两数求和的方法
public int add(int x,int y){
    return x+y;
}
那么这个方法就要定义成int型的,因为通过这个方法求得的数据是两个int型整数的和,当然也是int型咯,所以
返回数据类型就是int型的;
如果这个方法不需要返回一个值,就要把返回类型定义成void型,但不能不写(当然,只有一种情况可以不写,就是构造方法,现在你先不用考虑)
比如一个简单的输出方法,就无需返回一个值
public void show(){
   System.out.println("--------");
}
这时候就把返回类型写成空类型void