Java方法的重载:返回类型、修饰符可以相同,也可不同。要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。
public class MethodOverloading{
public void show(String str){
... ...
}
public void show(int i){
... ...
}
public void show(double d){
... ...
}
public void show(int i,double d){
... ...
}
}
public class TestDemo {
public static void main(String[] args) {
//此时将根据参数的类型和个数的不同执行不同的方法体
System.out.println(add(10, 20));
System.out.println(add(30, 40, 50));
System.out.println(add(1.1, 2.1));
}
public static int add(int x, int y) {
return x + y;
}
//此时方法名称相同,参数的个数不同
public static int add(int x, int y, int z) {
return x + y + z;
}
public static double add(double x, double y) {
return x + y;
}
}
例子
lass MethodOverloading {
void receive(int i) {
System.out.println("Received one int data");
System.out.println("i="+i);
}
void receive(float f) {
System.out.println("Received one float data");
System.out.println("f="+f);
}
void receive(String s) {
System.out.println("Received a String data");
System.out.println("s="+s);
}
public static void main(String [] args){
MethodOverloading m = new MethodOverloading();
m.receive(3456);
m.receive(34.56f);
m.receive("方法重载");
}
}
注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。
注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。</pre>
具体规范
一.方法名一定要相同。
二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
1.如果参数个数不同,就不管它的参数类型了!
2.如果参数个数相同,那么参数的类型必须不同。
三.方法的返回类型、修饰符可以相同,也可不同。
四.
面向对象的编程(OOP,Ob ject-Oriented Programming )
面向对象的设计 (OOD,Object-Oriented Design)
面向对象的分析(OOA,Object-Oriented Analysis)
五.
面向对象有两个要素和四大特征
两大要素:类与对象
四大特征:封装、继承、多态、抽象