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);
   }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM