欢迎访问宙启技术站
智能推送

Java函数的重载和重写方法举例

发布时间:2023-06-25 13:52:17

Java函数的重载和重写是在面向对象编程中非常重要的概念。函数的重载指的是在同一个类中定义多个相同名称但不同参数列表的函数,而函数的重写则是指在子类中重写父类中已有的函数的行为。下面将分别从重载和重写两个方面进行举例说明。

一、Java的函数重载

Java的函数重载允许同一个类中定义多个方法,它们的方法名相同但是参数列表不同。Java编译器会根据传递给函数的参数数量和数据类型选择正确的方法。下面是一个 Java 函数重载的例子:

public class OverloadDemo {

   public int add(int x, int y) {
      return x + y;
   }

   public double add(double x, double y) {
      return x + y;
   }
   
   public static void main(String[] args) {
      OverloadDemo demo = new OverloadDemo();
      int sum1 = demo.add(1, 2);
      double sum2 = demo.add(1.0, 2.0);
      System.out.println("sum1 = "+ sum1);
      System.out.println("sum2 = "+ sum2);
   }
}

在上面的例子中,我们定义了两个 add 方法,分别接收 int 型和 double 型的参数。在 main 函数中,我们分别调用了两种类型 add 方法,返回了正确的结果。

二、Java函数的重写

Java中的函数重写是指在子类中重写父类中已有的函数的行为,实现多态性。在子类中,可以重新定义继承自父类中的方法。子类可以重写父类中的方法,前提是方法必须具有相同的名称、参数列表和返回类型。下面是一个 Java 函数重写的例子:

class Animal {
   public void sound() {
      System.out.println("Animal makes sound");
   }
}

class Dog extends Animal{
   public void sound(){
      System.out.println("Dog barks");
   }
}

public class AnimalSound{
   public static void main(String args[]){
      Animal a = new Animal();
      Animal b = new Dog();
      a.sound();
      b.sound();
   }
}

在上面的例子中,我们定义了一个 Animal 类,其中有一个 sound 函数。我们创建了一个子类 Dog,它重写了父类中的 sound 函数,调用该方法时输出“Dog barks”。在 main 函数中,我们创建了一个 Animal 类型和一个 Dog 类型的对象,两个对象的 sound 方法分别输出了“Animal makes sound”和“Dog barks”。

总结:

Java的函数重载和重写是非常重要的概念,可以让我们更好地组织程序结构,实现多态性。重载允许在同一个类中定义多个名称相同但参数不同的方法,而重写则是在子类中重新定义继承自父类中的方法,实现不同的行为。在实际编程过程中,我们应该灵活运用这两个方法,让程序更加可读性和易于维护。