荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (想你), 信区: Java
标  题: Re: 就是这篇啊
发信站: 荔园晨风BBS站 (Thu Nov 15 20:35:57 2001), 转信

java里面的都叫方法吧?C++的才叫构造函数

java构造方法在形式和功能上与C++对应的成分相似。在java中,构造方法与它所属的
类同名;它们不返回任何值。构造方法可取零或多个参数为输入,并且可以被重载。

构造方法用于确保所有新的对象以一个有效的初始状态生成。因为java对象总是在堆
(heap)中创建,所以对象的构造方法仅在使用关间词new时才被调用。事实上,除了在用
关键词创建一个对象的时候,在其它使用时候调用构造方法都是非法的.
     例子(合法的调用跟非法调用)

     Square s;//declare s as a reference to a Square
              //no object created and no constructor called
     s = new square(); //Square's default constructor is called
     s.Square();       //Illegal constructor call

    所有的java类都有构造方法。如果你没有声明一个构造方法,编译器会自动为你生成
一个默认的构造方法。与C++不同,每当创建一个新的对象,java保证所有的变量都被
初始化,并给所有未被显示初始化的数据成员赋予默认值。数值类型被初始化为零;
布尔型为false,对象的引用设为null.
    构造方法可调用同一个类中的其他构造方法,或其他超类的构造方法。对其它构造
方法的调用必须是一个构造方法的第一行语句。如果程序没有调用超类的任何一个构造
方法,java会自动调用超类的默认构造方法。

【 在 junire (好好学习,天天向上) 的大作中提到: 】
: 不是我理解的是在调用构造函数时子类默认地调用super。add(),不知道是不是
: 【 在 loris (不良牛) 的大作中提到: 】
: : 就是说一个对象得初始化调用了两次构造函数?
: : 为什么?


--
hhhhhhhhhhhhhh

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店