黑马程序员技术交流社区

标题: void 该怎么用? [打印本页]

作者: 王福生    时间: 2013-3-11 15:49
标题: void 该怎么用?
本帖最后由 王福生 于 2013-3-12 00:23 编辑

查资料  void:代表函数没有具体的返回值,如果有返回值的话就用具体的类型,如int、double、String等.

   但是这几天在写代码时就是不知该什么时候加上void 什么时候不加,都分辨不清了。。。
作者: 张宁    时间: 2013-3-11 16:04
void说明该方法没有返回值,比如“
public void result()
{
}
如果void换成了其它,如string,int,数组,对象等等之类,就要用return来返回值,比如:
public int result()
{
  return 1;
}
方法里可以不用写任何代码,直接返回值
作者: 王智威    时间: 2013-3-11 16:04
只要是函数,都要有返回值,如何没有返回值就用void。 你用eclipse编写的时候,不都会提醒你吗
作者: HM李超    时间: 2013-3-11 16:19
    编写方法时,每个方法都是有返回值的,有具体返回值的,如int 、String等,甚至是集合,如ArrayList等,都要在方法名前声明返回值的类型,以便主函数调用该方法,
    public int func()
   {
        return -1;
   }
   主函数可以这样调用int result=func();
    如果方法中没有具体的返回值,就必须声明为void,注意void不是说该方法没有返回值,而是说明该方法没有具体的返回值,返回值是void。
   public void func()
  {
       System.out.println("没有具体返回类型");
  }
   主函数可以这样调用:func();

   在声明方法返回值类型时,一定要思考该方法的是否有具体返回值类型,如果没有就使用void,若有,就考虑是什么类型的返回值,基本数据类型还是引用类型。。。
作者: 沈文杰    时间: 2013-3-11 18:03
  1. //先判断方法的作用,不弄清这个就无法确定是否有返回值。
  2. class VoidTest{
  3.         private int age;
  4.         private String name;
  5.         //例如定义一个设置姓名方法,我们就不需要获取返回值。并且需要由外部传入一个Name,即该方法必须是有参数的
  6.         public void setName(String name){
  7.                 this.name= name;
  8.         }
  9.         //例如定义一个获取姓名方法,我们就需要获取返回值,根据Name的类型我们就可以知道返回值类型是String
  10.         public String getName(){
  11.                 return name;
  12.         }
  13. }
复制代码

作者: 徐升2013    时间: 2013-3-11 18:44
林明华 发表于 2013-3-11 15:59
public class demo {
        public static void main(String[] args) {
                demo d = new demo();

当你的方法主题内没有return语句 就必须加void  就这么简单,没什么复杂的原因   void的就代表该方法没有返回值的情况下也可以使用,当然即使加上void也可以设置返回值的,这里的原理是什么还没学到。
作者: 邹学良    时间: 2013-3-11 19:36
如果你只是想对void方法修改或者更新被调用对象却不想对被调用对象的实参进行修改时,就可以用VOID方法。
而非VOID方法是在被调用后必定会有方法的返回类型,非VOID方法会为每个调用返回一个对象,所以想要有调用方法后得到对象的可用非VOID方法
作者: 王福生    时间: 2013-3-11 21:02
王智威 发表于 2013-3-11 16:04
只要是函数,都要有返回值,如何没有返回值就用void。 你用eclipse编写的时候,不都会提醒你吗 ...

我是初学,没用eclipse来编写,一直在用视频上毕老师讲课用的editplus。
作者: 王福生    时间: 2013-3-11 21:03
谢谢楼上各位同学的解答,我会慢慢来消化理解的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2