Java多态的概念
Java多态是一种面向对象编程的基础概念,它使得同一个方法能够被不同的对象调用,产生不同的行为。在Java中,多态是通过继承、接口和重写(override)实现的。它使程序编写更加灵活,具有扩展性、可维护性和可重用性等优点。
一般方法实现Java多态
在Java中,多态可以通过一般方法来实现。即在父类中定义一个方法,通过子类继承并重新定义该方法。在调用时,会根据对象的实际类型来调用相应的方法。例如:
public class Animal{ public void say(){ System.out.println("I am a voiceless animal!"); } } public class Cat extends Animal{ public void say(){ System.out.println("I am a cute cat!"); } } public class Dog extends Animal{ public void say(){ System.out.println("I am a loyal dog!"); } } public class Test { public static void main(String[] args){ Animal animal1 = new Cat(); Animal animal2 = new Dog(); animal1.say();//输出:I am a cute cat! animal2.say();//输出:I am a loyal dog! } }
在上面的例子中,Cat和Dog类都继承了Animal类,并重写了say()方法。在main方法中,通过创建一个Cat对象和一个Dog对象,对父类中的say()方法进行调用,返回的结果各不相同。这就是Java多态的一般方法实现。
接口实现Java多态
在Java中,接口是一种规范,它可以定义一些方法和常量。与类相似,接口也可以被实现(implements)。当一个类实现一个接口时,需要重写接口中定义的所有方法。如果一个类实现了多个接口,那么就可以使用这些接口类型的引用指向该类的对象,从而实现多态。例如:
interface Animal{ void say(); } class Cat implements Animal{ public void say(){ System.out.println("I am a cute cat!"); } } class Dog implements Animal{ public void say(){ System.out.println("I am a loyal dog!"); } } public class Test{ public static void main(String[] args){ Animal animal1 = new Cat(); Animal animal2 = new Dog(); animal1.say();//输出:I am a cute cat! animal2.say();//输出:I am a loyal dog! } }
在上面的例子中,Animal接口定义了一个say()方法,Cat和Dog类都实现了Animal接口并重写了say()方法。在Test类的main方法中,通过Animal类型的引用指向一个Cat对象和一个Dog对象,对say()方法进行调用,返回的结果各不相同,实现了Java多态。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javac26.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!