关于人工智能:25-重载与覆盖

8次阅读

共计 1574 个字符,预计需要花费 4 分钟才能阅读完成。

在 Java 中,办法的重载(Overloading)和笼罩(Overriding)是两个重要的概念。它们都波及到办法的定义与应用,但作用和规定有所不同。

重载(Overloading)

重载是指在同一个类中定义多个同名的办法,但它们的参数列表不同(参数的个数、类型或程序不同)。重载容许咱们应用雷同的办法名来实现不同的性能,进步了代码的可读性和可维护性。

上面是一个重载的例子:

public class Calculator {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;}
}

在这个例子中,Calculator 类有三个 add 办法,别离承受不同数量和类型的参数。当咱们调用 add 办法时,Java 会依据传入参数的类型和数量主动抉择正确的办法。

Calculator calculator = new Calculator();
int result1 = calculator.add(1, 2); // 调用第一个 add 办法,输入 3
double result2 = calculator.add(1.0, 2.0); // 调用第二个 add 办法,输入 3.0
int result3 = calculator.add(1, 2, 3); // 调用第三个 add 办法,输入 6

笼罩(Overriding)

笼罩是指子类从新定义父类的办法,以实现本人的性能。当子类笼罩父类的办法时,办法名、参数列表和返回类型必须与父类完全相同。笼罩容许咱们在不批改父类的根底上,定制子类的行为。

上面是一个笼罩的例子:

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

public class Dog extends Animal {
    @Override
    public void makeSound() {System.out.println("The dog barks");
    }
}

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

在这个例子中,Dog 和 Cat 类都继承了 Animal 类,并别离笼罩了 makeSound 办法。当咱们调用 makeSound 办法时,Java 会依据对象的理论类型抉择正确的办法。

Animal myAnimal = new Animal();
myAnimal.makeSound(); // 输入 "The animal makes a sound"

Animal myDog = new Dog();
myDog.makeSound(); // 输入 "The dog barks"

Animal myCat = new Cat();
myCat.makeSound(); // 输入 "The cat meows"

留神,当子类笼罩父类的办法时,能够应用 @Override 注解来显式申明。这样,如果咱们不小心批改了办法签名或者拼写错误,编译器会报错,帮忙咱们捕捉潜在的谬误。

总结一下,重载和笼罩是 Java 中两个重要的概念。重载容许咱们在同一个类中定义多个同名但参数列表不同的办法,实现不同的性能。笼罩容许子类从新定义父类的办法,定制本人的行为。了解这些概念并在理论编程中利用它们,能够帮忙咱们编写更高效、易读的代码。

举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

正文完
 0