你可以使用多个标签,以便列出所有作者,但是它们必须连续放置。全部作者信息会合并到
你可以使用多个标签,以便列ต出所有作者,但是它们必须连续放置。全部作者信息会合并到
在某些语言中,你必须明确地声明希望某个方法具备后期绑定属性所带来的灵活性c++是
在某些语言中,你必须明确地声明希望某个方法具备后期绑定属性所带来的灵活性c++是
但是,掌握好java语言并不是一件可以轻松完成的任务,如何真正掌握java语言,从而
但是,掌握好java语言并不是一件可以轻松完成的任务,如何真正掌握java语言,从而
freshsources19๗95006๔aທhtm此文档的最后部分。
第四章初始化与清除
随着计算机革命的展,“不安全”的编程方แ式已逐渐成为编程代价高昂的主因之ใ一。
“初ม始化initialization”和“清除9up”正是涉及安全的两个问题。许多c程序的
错误都源于程序员忘记初始化变量。特别ี是在使用程序库时,如果用户不知道如何初始化库
的构件,或者是用户必须初始化的其它东西,更是如此。清理也是个特殊的问题,当你使用
完一个元素时,它对你也就不会有什么影响了,所以你很容易把它忘记。这样一来,这个元
素占用的资源就会一直得不到释放,等待你的将是资源尤其是内存用尽的后果。
9structor”的概念。这是一个在创น建对象时被自动调用的特殊方法。
java中也采用了构造器,并额外了“垃圾回收器”。对于不再使用的内存资源,垃圾回
收器能自动将其释放。本章将讨论初始化和清理的相关问题,以及jaທva对它们的支持。
以构造器确保初ม始化
可以假想为编写的每个类都定义แ一个initialize方法。此名称提醒你在使用其对象之前,应
先调用initiaທlize。然而,这同时意味着用户必须ี记得自己去调用此方แ法。在java中,通
过“构造器”这种特殊方法,类的设计者可确保每个对象都会得到初始化。当对象被创น
建时,如果其类具有构造器,java就会在用户有能力操作对象之前自动调用相应的构造器,
所以初始化动作得以确保。
接下来的问题就是如何命名这个方法。有两个ฐ问题:第一,你取的任何名字都可能与类的某
个ฐ成员名称相冲突;第二,调用构造器是编译器的责任,所以必须让编译器知道应该调用哪
个ฐ方法。c++ใ语言中采用的方案看来最简单且更符合逻辑,所以在java中也得到了应用:
即构造器采用与类相同的名称。考虑到เ在初始化期间要自动调用构造器,这种作法就顺理成
章了。
以下就是一个ฐ带有构造器的简单类:
:9structorjaທva
de摸nstraທtionofasimple9structor
importuceeckelsimpletest;
claທssrock{
rock{thisisthe9๗strucນtor
syste摸utprintln"9๗grock";
}
}
pubຘli9structor{
stati9e9test;๙
publi9stringaທrgs{
forinti=0่;i10;i++ใ
ne9rock;๙
摸nitorexpe9g{
"ิ9grock"ิ,
"9๗grock",
"ิ9grock",
"ิ9grock",
"9grock"ิ,ไ
"9grock"ิ,
"ิ9grock",
"9๗grocນk"ิ,
"9grock",ไ
"9grock"
};
}
}:~
现在,在创建对象时:
ne9rock;
将会为对象分配存储空间,并调用相应的构造器。这就确保了在你能操作对象之ใ前,它已经
被恰当地初ม始化了。