快速业务通道

如何应用Java的可变参数 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
  for (double amount : amounts)         total += amount;     tax = total * rate;     System.out.println("Name: " + name + "\nTotal: " + total + "\ntax: " + tax); }

可变参数也可应用在构造器中。例如:

public class Supper {     public Supper(char...characters) {     ...     }

在子类中,可以覆盖这个构造器,如:

class SubClass extends Supper {     public SubClass(char...characters) {         ...     } }

但无法在子类中调用超类的这个构造器。

更多信息  可变参数可以用在构造器中,并可以覆盖。

如何应用Java的可变参数(3)

时间:2011-02-12

12.7.3  可变参数方法重载

可以对具有可变参数的方法重载。如下例子:

void someMethod(int count, double...prices) {     //语句体     ...     } void someMethod(double...prices) { //重载     //语句体     ...     } double someMethod(String...names) { //重载     //语句体     ... } ...

对方法someMethod()实行重载。对具有可变参数的方法重载遵循一般方法重载原则。

如下程序应用枚举和可变参数,对在12.4.4讨论过的根据用户要求打印跑车信息的程序进一步修改,使之具有更强功能。首先,在程序中加入了如下两个用来处理跑车颜色和付款方式的枚举类型对象:

//完整程序存在本书配套资源目录Ch12名为VarargsApp.java enum ColorType {     WHITE {String getDescription(){                 return "有浅白、暗白、和亮白可选";             }     },     SILVER {String getDescription() {                 return "有银白、银灰、纯银色可选";             }     },     BLACK {String getDescription() {                 return "有深黑和浅黑可选";             }     };     abstract String getDescription(); } enum PaymentType {     CASH("有10%特别优惠"),     CREDIT("接受所有信用卡"),     LOAN("贷款利息为.56%");     final private String payment;     private PaymentType(String payment) {         this. payment = payment;     }     public String getPayment() {         return payment;     } }

如何应用Java的可变参数(4)

时间:2011-02-12

另外,在SportCar中,根据用户的选择,加入了对跑车类型、颜色,以及付款方式的处理方法,并且利用可变参数。例如:

class SportCar {     SportCarType type; //创建     ColorType color;     PaymentType payment;     public SportCar (String...choices) { //可变参数         type = null; //初始化         color = null;         payment = null;         processInfo(choices); //调用处理信息方法    }    private void processInfo(String[] choices) {        if (choices.length == 1) { //处理跑车类型           processType(choices[0]);         }        else if (choices.length == 2) { //处理跑车类型和颜色          processType(choices[0]);          processColor(choices[1]);         }        else if (choices.length == 3) { //处理跑车类型、颜色和付款方式          p

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号