关于override和overload的.请各位补充指正.

发表于:2007-07-04来源:作者:点击数: 标签:
英文 中文 例子 Override 覆盖 Class parent { void method() { //I am a father’s method. } } class child extend parent { void method() { //I am child’s method } } 这里说method在class child里被override覆盖. 这个一般发生在继承时.子类不想完全

英文

中文

例子

Override

覆盖

Class parent
{
  void method()
  { //I am a father’s method. }
}
class child extend parent
{
  void method()
  { //I am child’s method }
}
这里说method在class child里被override覆盖.
这个一般发生在继承时.子类不想完全继承父类的方法.就覆盖掉父类的方法.
比如:
child c=new child();
c.method();//执行子类自己的method (//I am child’s method)

parent c=new child();
c.method();//执行的也是子类自己的method (//I am child’s method)

Overload

过载,
重载

Class MM
{
  void method(String str)
  { //I am a method with String patameter }
  void method(int i)
  { //I am a method with integer patameter }

}
这里说method被overload过载,重载.
国内翻译的不统一.有的书甚至把override叫过载.很见鬼.>_<.只好记英文拉.
一般发生在一个方法(实际是一个名字)想具有不同的功能.
比如:
+ 号:
1+1;//整数可以相加
“a”+”b”;//字符串可以相加
上边的例子:
MM mm=new MM();
MM.method(“I am a String”);//通过参数的类型和个数区分用的哪个方法
MM.method(123456);//这里用的是void method(int i)

原文转自:http://www.ltesting.net