JAVA的类和方法(教程) (2)
[ 来源:互网络 | 更新日期:2007-09-18 07:15:26 | 浏览次数:11967]
Sample ob = new Sample();
这条语句将刚才提到的两步合二为一了。可以重新写成下面这样一来,更清楚的表示出2步:
Sample ob;
ob = new Sample();
一旦得到一个类对象,就可以使用“.“运算符访问其成员。下面是通常的形式:
object-name.member-name
如,给ob的成员a赋值10,使用下面语句:
ob.a = 10;
构造函数
构造函数在创建对象时立即对其进行初始化。构造函数与它所在的类具有相同的名字,在语
句构成上与方法类似。然而,构造函数没有返回值,甚至也不返回void。这是因为类的构造
函数隐含的返回类型是类类型本身。初始化对象的内部状态,以便使代码创建实例时有一个
完全初始化的、可用的对象是构造函数的任务。
构造函数可以有参数,这些参数接收创建对象时传递给构造的参数。典型情况下,包含在构
造函数参数中的这些值用于初始化对象。当创建每个对象的时候,传递给构造函数的参数即
被指定。例如,下面是一个加到Sample类中有参数的构造函数的例子。
class Sample {
int a,b;
// constructor
Sample(int x,int y) {
a = x;
b = y;
}
int sum() {
return a+b;
}
}
下面所示的类创建一个Sample类型的对象,传递给它的值为-99和88。这就是说a将接收值
-99,b将接收值88。
class Example {
public static void main(String args[]) {
Sample ob = new Sample(-99,88);
System.out.println(ob.sum());
}
}
对于一个类,当没有明确定义构造函数时,JAVA创建一个默认的构造函数。默认构造函数
自动将所有实例变量初始化为0 。对于简单的类来说,默认的构造函数已足够用,但对于
复杂的程序而言通常不会这样做。一旦定义了自己的构造函数,默认的构造函数就不再使
用了。
垃圾回收
有些语言,比如C++,动态分配对象必须使用delete运算符手工释放它。而JAVA则采用了
不同的方法,自动的重新分配内存。完成这种功能的技术叫垃圾回收。
垃圾回收是这样工作的:当一个对象的引用不存在时,这个对象就被认为不再需要的了,
它所占用的内存就可以被回收。这时候不需要像C++那样明确的清楚对象。垃圾回收只是
在程序执行过程中偶然发生。对于那些已不再使用但仍旧存在的一个或多个对象来说,垃
圾回收不会因此而简单的发生。此外,不同的JAVA运行系统采用不同的垃圾回收方法,
但对于大多数情况来说,编写程序时不用过多的考虑这些。
finalize()方法
在删除一个对象之前,有时需要确认某些动作已经完成。例如:如果一个对象已经获得了
某些系统资源,比如一个文件句柄,那么在删除该对象之前需要确定该资源已经被释放。
JAVA提供了一种叫做终止的机制对这些情况进行处理。使用终止可以定义指定的动作,
这个动作在一个对象刚好被垃圾回收器回收时发生。
为类增加一个终止,只需简单的定义finalize()方法。无论何时对那个类中的对象进行回收
时,JAVA的运行系统都会调用这个方法。在fin


您的位置:
