专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java中的方法重载和方法重写的区别

temp10 2024-11-01 13:42:54 java教程 13 ℃ 0 评论

#头条创作挑战赛#

方法重载(Overloading):

  1. 方法重载是指在同一个类中定义多个同名但参数列表不同的方法。
  2. 重载方法必须具有不同的参数类型、参数个数或参数顺序。
  3. 重载方法的返回类型可以相同也可以不同。
  4. 重载方法可以有不同的访问修饰符(public、private、protected)。
  5. 重载方法可以抛出不同的异常。
  6. 方法重载的目的是为了提供一种更方便、更灵活的使用方式,根据传入的参数类型或个数的不同,选择合适的方法进行调用。

以下是一个方法重载的示例:

Java中的方法重载和方法重写的区别

public class Calculation {
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }

    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

方法重写(Overriding):

  1. 方法重写是指子类覆盖父类中同名、同参数列表、同返回类型的方法。
  2. 重写方法必须具有相同的方法签名,即方法名称、参数列表和返回类型必须一致。
  3. 重写方法的访问修饰符不能比父类的方法更严格(例如,不能由public改为private)。
  4. 重写方法不能抛出比父类方法更宽泛的异常,可以不抛出异常或抛出相同的异常。
  5. 方法重写是实现多态性的一种方式,通过子类对象调用重写的方法时,实际上执行的是子类中的方法。

以下是一个方法重写的示例:

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

public class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Cat meows");
    }
}

在上面的示例中,Animal类中定义了一个名为makeSound的方法,而Cat类继承自Animal类并重写了makeSound方法。当调用makeSound方法时,如果是Animal对象,则输出"Animal makes sound",如果是Cat对象,则输出"Cat meows"。这就是方法的重写。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表