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 -- 技术点滴/经验分享 |
作者 | Re:请教:怎样理解“函数的重载”? [Re:WWWLS] |
ranchgirl
版主 发贴: 801 积分: 132 |
于 2005-10-02 22:03
Read more about Methods Overloading and Overriding from here: http://bobcat.webappcabaret.net/javachina/faq/02.htm#Overload_ |
作者 | Re:请教:怎样理解“函数的重载”? [Re:WWWLS] |
bluecrystal
发贴: 2788991 积分: 48 |
于 2005-10-02 22:31
我刚刚看了一遍,其中这段qa推荐大家能好好的看看,并且能够深入的理解一下 因为下面这段除了涉及到overload以及override之外,在多态性方面也是一个极佳的例子
bluecrystal edited on 2005-10-02 22:34
Just Software & Travel -- 我的blog -- 技术点滴/经验分享 |
已读帖子 新的帖子 被删除的帖子 |
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 |