Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
» 实战错误讨论
打印话题 寄给朋友 订阅主题 |
作者 | Re:请教:怎样理解“函数的重载”? [Re:WWWLS] |
bluecrystal
发贴: 2788991 积分: 48 |
于 2005-10-02 20:50
Java supports method name overloading so that multiple methods can share the same name. For example, suppose you are writing a class that can render various types of data (strings, integers, and so on) to its drawing area. You need to write a method that knows how to render each data type. In other languages, you have to think of a new name for each method, for example, drawString, drawInteger, drawFloat, and so on. In Java, you can use the same name for all of the drawing methods but pass a different type of parameter to each method. So, in your data rendering class, you can declare three methods named draw, each of which takes a different type of parameter: class DataRenderer { void draw(String s) { . . . } void draw(int i) { . . . } void draw(float f) { . . . } } Overloaded methods are differentiated by the number and type of the arguments passed into the method. In the code sample, draw(String s) and draw(int i) are distinct and unique methods because they require different argument types. You cannot declare more than one method with the same name and the same number and type of arguments because the compiler cannot differentiate them. So, draw(String s) and draw(String t) are identical and result in a compiler error. 这是java tutorial 里面关于overload(重载)的描述,请仔细阅读一下 切记不要和override(覆盖)相混淆 Just Software & Travel -- 我的blog -- 技术点滴/经验分享 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
9763 | 请教:怎样理解“函数的重载”? | WWWLS | 996 | 2005-10-02 18:15 |
7497 | Re:请教:怎样理解“函数的重载”? | bluecrystal | 1376 | 2005-10-02 20:50 |
8059 | Re:请教:怎样理解“函数的重载”? | ranchgirl | 794 | 2005-10-02 21:52 |
7448 | Re:请教:怎样理解“函数的重载”? | ranchgirl | 134 | 2005-10-02 22:03 |
8421 | Re:请教:怎样理解“函数的重载”? | bluecrystal | 2554 | 2005-10-02 22:31 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |