小心你的构造函数

原创 2007年09月27日 10:44:00
public class IntAdder
...{
      
private int x;
      
private int y;
      
private int z;

    
public void IntAdder()
    
...{
    x 
= 1;
    y 
= 2;
    z 
= x + y;
    }
    

    
public void printResults()
    
...{
       System.out.println(
"The value of ‘z’ is ‘" + z + "");
    }


    
public static void main (String[] args)
    
...{
        IntAdder ia 
= new IntAdder();
        ia.printResults();
    }

}


运行结果:
The value of ‘z’ is ‘
0

 是不是觉得运行结果很奇怪啊,应该是3啊!仔细看下:

public void IntAdder()是具有构造函数名的函数!默认的构造函数是:public IntAdder() 。现在一切都明解了,小心你构造函数,它是没有返回类型的(不是void返回类型)。

注:以上代码eclipse会给出以下提示信息“This method has a constructor name”。

小满的C++学习心得(3) 小心析构函数和复制构造函数!

还没两天呢又到这里来写BLOG了,没办法,《C++ Primer Plus》的第12章确实很不好学。关于类和动态内存分配的内容,很多东西你好像是看懂,但等到你真正自己动手编程时才发现自己根本没有真正理...
  • mlyboy
  • mlyboy
  • 2011年03月31日 17:44
  • 570

构造函数运算符重载

  • 2016年03月04日 14:59
  • 31KB
  • 下载

C++构造函数后面的冒号

构造函数后加冒号是初始化表达式: 有四种情况下应该使用初始化表达式来初始化成员: 1:初始化const成员 2:初始化引用成员 3:当调用基类的构造函数,而它拥有一组参数时 4:当调用成...

构造函数以及原型基础

  • 2017年08月26日 18:23
  • 7KB
  • 下载

学生类构造函数

  • 2013年10月29日 20:06
  • 1KB
  • 下载

String构造函数

String构造函数   //不含参数的构造函数,一般没什么用,因为value是不可变量   public String() {   this.value = new char[0];温江割包皮...

c#默认构造函数的作用

  • 2013年04月08日 14:55
  • 263KB
  • 下载

Java继承时构造函数的调用

  • 2013年08月06日 15:30
  • 22KB
  • 下载

7.5 构造函数再探

7.5.1 构造函数初始值列表         对于定义一个类的对象来说,随着构造函数体一开始执行,该对象的数据成员的初始化就完成了。初始化的过程为:先用构造函数的初始值列表中的值显式地初始化成员;构...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小心你的构造函数
举报原因:
原因补充:

(最多只允许输入30个字)