java 方法的重载的语法规则
class People { float hello(int a,int b) { return a+b; } float hello(long a,int b) { return a-b; } double hello(double a,int b) { return a*b; } } public class Example4_12 { public static void main(String args[]) { People tom = new People(); System.out.println(tom.hello(10,20)); System.out.println(tom.hello(10L,20)); System.out.println(tom.hello(10.0,20)); } }
重载的参数也可以是一个对象
Circle.java
public class Circle { double radius,area; void setRadius(double r) { radius=r; } double getArea(){ area=3.14*radius*radius; return area; } }
Tixing.java
public class Tixing { double above,bottom,height; Tixing(double a,double b,double h) { above = a; bottom = b; height = h; } double getArea() { return (above+bottom)*height/2; } }
Student.java
public class Student { double computerArea(Circle c) { double area=c.getArea(); return area; } double computerArea(Tixing t) { double area=t.getArea(); return area; } }
Example4_13.java
public class Example4_13 { public static void main(String args[]) { Circle circle = new Circle(); circle.setRadius(196.87); Tixing lader = new Tixing(3,21,9); Student zhang = new Student(); System.out.println("zhang计算圆的面积:"); double result=zhang.computerArea(circle); System.out.println(result); System.out.println("zhang计算梯形的面积:"); result=zhang.computerArea(lader); System.out.println(result); } }