阅读量:1
Java中实现多态的方法主要有以下两种:
- 方法重写(Override):子类重写父类的方法,实现多态。在父类中定义一个方法,在子类中重写这个方法,并且将这个方法标记为
@Override
。当调用父类的方法时,实际上会调用子类重写的方法。
class Parent { public void print() { System.out.println("Parent"); } } class Child extends Parent { @Override public void print() { System.out.println("Child"); } } public class Main { public static void main(String[] args) { Parent obj1 = new Parent(); Parent obj2 = new Child(); obj1.print(); // 输出 "Parent" obj2.print(); // 输出 "Child" } }
- 接口实现(Interface):一个类实现了某个接口,可以通过接口类型来引用该类的对象,实现多态。在接口中定义方法,然后在实现类中实现这些方法。通过接口类型的引用,可以调用实现类中的方法。
interface Printable { void print(); } class Parent implements Printable { @Override public void print() { System.out.println("Parent"); } } class Child implements Printable { @Override public void print() { System.out.println("Child"); } } public class Main { public static void main(String[] args) { Printable obj1 = new Parent(); Printable obj2 = new Child(); obj1.print(); // 输出 "Parent" obj2.print(); // 输出 "Child" } }
通过上述两种方法,实现了多态,可以根据对象的实际类型来调用相应的方法,提高代码的灵活性和可扩展性。