当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:17:00  来源:本站整理

办法过载[Java编程]

赞助商链接



  本文“办法过载[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在任何程序计划语言中,一项重要的特点就是名字的应用.我们成立一个对象时,会分配到一个保存区域的名字.办法名代表的是一种具体的行动.通过用名字描写自己的系统,可以使自己的程序更易人们理解和改正.它非常象写散文——目的是与读者沟通.
我们用名字引用或描写全部对象与办法.若名字选得好,可以使自己及其他人更易理解自己的代码.
将人类语言中存在具体差别的概念“映射”到一种程序计划语言中时,会呈现一些特别的问题.在平常生活中,我们用相同的词表达多种差别的含义——即词的“过载”.我们说“洗衬衫”、“洗车”以及“洗狗”.但假如强迫象下面这样说,就显得很笨拙:“衬衫洗 衬衫”、“车洗 车”以及“狗洗 狗”.这是由于听众根本不需求对履行的行行动任何明确的辨别.人类的大大都语言都具有很强的“冗余”性,所以即便漏掉了几个词,仍旧可以推断出含义.我们不需求举世无双的标识符——可从具体的语境中推论出含义.
大大都程序计划语言(分外是C)要求我们为每个函数都设定一个举世无双的标识符.所以绝对不能用一个名为print()的函数来显示整数,再用另一个print()显示浮点数——每个函数都要求具有唯一的名字.
在Java里,另一项因素逼迫办法名呈现过载情形:构建器.由于构建器的名字由类名决意,所以只能有一个构建器名称.但假如我们想用多种方法成立一个对象呢?比方,假定我们想成立一个类,令其用尺度方法举行初始化,别的从文件里读失信息来初始化.此时,我们需求两个构建器,一个没有自变量(默许构建器),另一个将字串作为自变量——用于初始化对象的那个文件的名字.由于都是构建器,所以它们必须有相同的名字,亦即类名.所认为了让相同的办法名伴随差别的自变量范例利用,“办法过载”是非常关键的一项办法.同时,固然办法过载是构建器必须的,但它亦可利用于其他任何办法,且用法非常便利.
在下面这个例子里,我们向大家同时展示了过载构建器和过载的原始办法:

//: Overloading.java
// Demonstration of both constructor
// and ordinary method overloading.
import java.util.*;

class Tree {
  int height;
  Tree() {
    prt("Planting a seedling");
    height = 0;
  }
  Tree(int i) {
    prt("Creating new Tree that is "
        + i + " feet tall");
    height = i;
  }
  void info() {
    prt("Tree is " + height
        + " feet tall");
  }
  void info(String s) {
    prt(s + ": Tree is "
        + height + " feet tall");
  }
  static void prt(String s) {
    System.out.println(s);
  }
}

public class Overloading {
  public static void main(String[] args) {
    for(int i = 0; i < 5; i++) {
      Tree t = new Tree(i);
      t.info();
      t.info("overloaded method");
    }
    // Overloaded constructor:
    new Tree();
  }
} ///:~

Tree既可成立成一颗种子,不含任何自变量;亦可成立成生长在苗圃中的植物.为支持这种成立,共利用了两个构建器,一个没有自变量(我们把没有自变量的构建器称作“默许构建器”,注释①),另一个采取现成的高度.

①:在Sun公司出版的一些Java资猜中,用粗陋但很阐明问题的词语称谓这类构建器——“无参数构建器”(no-arg constructors).但“默许构建器”这个称谓已利用了很多年,所以我挑选了它.

我们也有大概但愿通过量种途径调用info()办法.比方,假定我们有一条额外的消息想显示出来,就利用String自变量;而假定没有其他话可说,就不利用.由于为明显相同的概念赋予了两个独立的名字,所以看起来大概有些古怪.幸运的是,办法过载答应我们为二者利用相同的名字.
  以上是“办法过载[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 办法过载
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .