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);
   }
}
原文地址:https://www.cnblogs.com/yihujiu/p/5990375.html