在Java中使用方法重载

ZDNet软件频道 时间:2003-10-13 作者:ZDNet China |  我要评论(6)
本文关键词:javatips
命名转换是任何程序开发工程的重要部分,但当处理特别的名称的时候命名转换也会变得相当繁琐。简化这一过程的其中一个方法是通过重载而重新使用方法的名称。
本文译自Builder.com,未经许可请勿转载命名转换是任何程序开发工程的重要部分,但当处理特别的名称的时候命名转换也会变得相当繁琐。简化这一过程的其中一个方法是通过重载而重新使用方法的名称。重载能够使具有相同名称但不相同数目和类型参数的类传递给方法。

名称中包含的内容

当将名称分配到类、方法、变量时,使用能够容易理解的名称相当重要。例如,建立一个定义一个人的类,此时应该建立一个合适的名为Person的类。这一个类命名为一个随便的名称dkjfb也无可厚非,但对于开发这一软件的任何程序员是没有什么意义,因为它不能代表本身的含义。Person类应该具有以下的内容:

class Person {
private String firstName;
private String lastName;
}


列举的代码声明了一个名为Person的类,其带有两个成员变量参数以存储姓和名。分配给成员变量参数的名称就符合它们本身的含义,这样就很容易地识别存储在变量中的内容。当调用一个Person类时,我们可以很直观地使用这些成员变量参数。

对象构建

建立一个新的对象的实例会触发类的构造函数的方法。以下代码使用了一个基本的构造函数,这一构造函数无需接收任何变量:

class Person {
private String firstName;
private String lastName;
Person() {
this.firstName = "";
this.lastName = "";
} }


这一基本的构造函数使用空字符串的变量参数。在以后的程序中可以看到,在很多时候,对象建立时都附带已知的名字。你可以使用方法重载来建立多个方法,但每一个方法都有自己的方法记号。记号指定了被方法接受的参数。例如,这里是前一构造函数的方法记号:

Person()

这一方法可以重载以接收姓和名或者只是名:
class Person {
private String firstName;
private String lastName;
Person() {
this.firstName = "";
this.lastName = "";
}
Person(String lname) {
this.firstName = "";
this.lastName = lname;
}
Person(String fname, String lname) {
this.firstName = fname;
this.lastName = lname;
} }


在一个类中任何具有相同名称的两个方法必须有不同的参数类型或者不同的参数数目,否则编译器拒绝它们。现在类可以声明如下:

Person p1 = new Person();
Person p2 = new Person("Patton");
Person p3 = new Person("Patton", "Tony");


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134