黑马程序员技术交流社区

标题: 如何确定 [打印本页]

作者: 明天你好    时间: 2014-2-26 22:25
标题: 如何确定
早构造方法是,前面有的加的是void ,int  string  等,那么什么时候改用void,神恶魔时候不用void呢,是根据构造方法的返回值类型而定吗

作者: yunzhongzhuhuo    时间: 2014-2-26 22:44
构造方法是一种特殊方法,他的名字必须与他所在的类的名字完全相同,而且没有类型
java允许一个类中有若干个构造方法,但这些构造方法的参数必须不同,或者参数的类型不同,或者参数的个数不同

  1. public class Rect {

  2.         double sideA,sideB;
  3.         Rect(){}
  4.         Rect(double a,double b){
  5.                 sideA=a;
  6.                 sideB=b;
  7.                
  8.         }
  9.         double computerArea(){
  10.                 return sideA*sideB;
  11.         }
  12.        
  13.         double computerGirth(){
  14.                 return (sideA+sideB)*2;
  15.         }
  16. }
复制代码




作者: 明天你好    时间: 2014-2-26 22:52
yunzhongzhuhuo 发表于 2014-2-26 22:44
构造方法是一种特殊方法,他的名字必须与他所在的类的名字完全相同,而且没有类型
java允许一个类中有若干 ...

我打错了,应该是构造函数,我主要是想知道void的用法,什么时候用,什么时候不用
作者: xietansheng    时间: 2014-2-26 22:53
构造方法/构造函数有返回值的吗?
作者: yunzhongzhuhuo    时间: 2014-2-26 22:58
void就是一个 类型而已,如果写的函数不想要返回值,就用void类型,如果要返回值,就要加上其返回类型
  1. public class test1 {

  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub
  4.                 //调用函数,并打印返回值
  5.                 System.out.println(fac(10));
  6.                 sop(fac(10));
  7.         }

  8.        
  9.         public static int fac(int n)//这个是需要有返回值的,它是计算斐波那契的函数
  10.         {
  11.                 //如果n值等于1或者2就返回1
  12.                 if(n==1||n==2)
  13.                         return 1;
  14.                 //否则返回递归调用此方法的和
  15.                 else
  16.                         return fac(n-1)+fac(n-2);
  17.         }
  18.        
  19.         public static void sop(Object obj){//这个方法只是负责打印的
  20.                 System.out.println(obj);
  21.         }
  22. }
复制代码

所以说:用不用void,关键看你的函数是否需要返回值





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