科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件JAVA的类和方法(3)

JAVA的类和方法(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

类是对象的模板,对象是类的实例。JAVA中类的定义和常用函数调用方法。

来源:JAVA中文站 2007年8月27日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

垃圾回收

有些语言,比如C++,动态分配对象必须使用delete运算符手工释放它。而JAVA则采用了不同的方法,自动的重新分配内存。完成这种功能的技术叫垃圾回收。垃圾回收是这样工作的:当一个对象的引用不存在时,这个对象就被认为不再需要的了,它所占用的内存就可以被回收。这时候不需要像C++那样明确的清楚对象。垃圾回收只是在程序执行过程中偶然发生。对于那些已不再使用但仍旧存在的一个或多个对象来说,垃圾回收不会因此而简单的发生。此外,不同的JAVA运行系统采用不同的垃圾回收方法,但对于大多数情况来说,编写程序时不用过多的考虑这些。

finalize()方法

在删除一个对象之前,有时需要确认某些动作已经完成。例如:如果一个对象已经获得了某些系统资源,比如一个文件句柄,那么在删除该对象之前需要确定该资源已经被释放。JAVA提供了一种叫做终止的机制对这些情况进行处理。使用终止可以定义指定的动作,这个动作在一个对象刚好被垃圾回收器回收时发生。

为类增加一个终止,只需简单的定义finalize()方法。无论何时对那个类中的对象进行回收时,JAVA的运行系统都会调用这个方法。在finalize()方法中指定在一个对象被销毁前所必须要执行的那些动作。finalize()方法的通常形式如下:

protected void finalize()

{

// finalization code here

}

理解finalize()只在垃圾回收前被调用是非常重要的。例如,当对象超出作用域时,finalize()就不会被调用。这意味着不会知道finalize()将会在什么时候执行。因此,程序中应当提供由其它对象使用的释放系统资源的方法。对于一般的程序操作不必依赖finalize()。

方法重载

在JAVA程序中,只要所声明的参数不同,就可以在同一个类中定义两个或更多具有相同名字的方法。当这样做时这些方法就称为被重载,这个过程称为方法重载。当一个重载的方法被调用时,JAVA使用参数的类型和个数取决于实际调用哪一个被重载的方法。因此,重载的方法在参数类型和数量上肯定不会一样。重载的方法可以有不同的返回类型,仅单独使用返回类型不能辨别是哪个方法。当JAVA程序遇到调用重载方法时,它仅仅执行与调用

参数相匹配的那个方法。

除一般的方法重载外,也可以重载构造函数。下面举一个方法重载的例子:

// Demonstrate method overload

class OverloadDemo {

void test() {

System.out.println("No parameters");

}

void test(int a) {

System.out.println("a:" + a);

}

void test(int a,int b) {

System.out.println("a and b:" + a + " " + b);

}

void test(double a) {

System.out.println("double a: " + a);

}

}
下面类说明了重载的test()方法。

class Overload {

public static void main(String args[]) {

OverloadDemo ob = new OverloadDemo();

double result;

// call all versions of test()

ob.test();

ob.test(10);

ob.test(10,20);

result = ob.test(123.4);

}

}

参数传递

通常一种计算机语言有两种向子程序传递参数的方法。第一种方法叫做值调用(call-by-value)。这种方法将一个参数的值复制到子程序的形式参数里。因此,子程序参数的变化并不会影响到用于调用的参数。第二种参数传递的方法叫做引用调用(call-by-reference)。在这种方法中,把一个参数(不是参数的值)的引用传递给形式参数。在子程序里,这个引用用于对调用中指定的实际参数进行访问。这就意味着形式参数的变化会影响到用于调用子程序的参数。JAVA根据传递的内容使用这两种方法。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章