java静态多态性和动态多态性
Java是一种面向对象的编程语言,它支持两种多态性:静态多态性和动态多态性。
静态多态性是指在编译时根据参数的类型来决定调用哪个方法。
<code >public class StaticPolymorphism {public static void main(String[] args) {HelloWorld helloWorld = new HelloWorld();helloWorld.sayHello("Alice");helloWorld.sayHello("Bob", 30);}}class HelloWorld {public void sayHello(String name) {System.out.println("Hello " + name);}public void sayHello(String name, int age) {System.out.println("Hello " + name + ", you are " + age + " years old");}}
在上面的代码中,HelloWorld类中有两个名为sayHello的方法,一个接受一个String参数,另一个接受一个String参数和一个int参数。在main方法中,我们可以通过传递不同数量和类型的参数来调用这两个方法。
动态多态性是指在运行时根据对象的实际类型来决定调用哪个方法。
<code >public class DynamicPolymorphism {public static void main(String[] args) {Animal animal1 = new Dog();Animal animal2 = new Cat();animal1.makeSound();animal2.makeSound();}}class Animal {public void makeSound() {System.out.println("I am an animal");}}class Dog extends Animal {public void makeSound() {System.out.println("Woof!");}}class Cat extends Animal {public void makeSound() {System.out.println("Meow!");}}
在上面的代码中,Animal类有一个名为makeSound的方法,而Dog和Cat类重写了makeSound方法。在main方法中,我们实例化了一个Dog对象和一个Cat对象,并将它们赋值给一个类型为Animal的变量。然后调用它们的makeSound方法。由于实际类型是Dog和Cat,所以分别调用了它们的重写方法。
上一篇:javascript中的焦点
下一篇:javascript中缩略图
PSTrayFactory.exe是什么文件?PSTrayFactory.exe是不是病毒
pcboost.exe是什么文件?pcboost.exe是不是病毒
POCO2004.exe是什么文件?POCO2004.exe是不是病毒
PNXSERVR.exe是什么文件?PNXSERVR.exe是不是病毒
PhotoUD.exe是什么文件?PhotoUD.exe是不是病毒
Pccspyui.exe是什么文件?Pccspyui.exe是不是病毒
PasswordGuard.exe是什么文件?PasswordGuard.exe是不是病毒
pmProtect.exe是什么文件?pmProtect.exe是不是病毒
PPPoECat.exe是什么文件?PPPoECat.exe是不是病毒
plsqldev.exe是什么文件?plsqldev.exe是不是病毒