在 Java 中,子类可以通过方法重写(override)来改变父类中的方法实现。在子类中重写的方法可以返回与父类方法相同的变量类型,也可以返回其子类型。\n\n例如,假设有一个父类 Animal 和其子类 Dog 和 Cat,Animal 类有一个 getName() 方法返回一个 String 类型的名字。子类可以通过重写该方法来返回不同的变量类型。\n\njava\nclass Animal {\n public String getName() {\n return \"Animal\";\n }\n}\n\nclass Dog extends Animal {\n @Override\n public String getName() {\n return \"Dog\";\n }\n}\n\nclass Cat extends Animal {\n @Override\n public String getName() {\n return \"Cat\";\n }\n}\n\nclass Main {\n public static void main(String[] args) {\n Animal animal = new Animal();\n System.out.println(animal.getName()); // 输出 \"Animal\"\n \n Animal dog = new Dog();\n System.out.println(dog.getName()); // 输出 \"Dog\"\n \n Animal cat = new Cat();\n System.out.println(cat.getName()); // 输出 \"Cat\"\n }\n}\n\n\n在上述例子中,Animal 类有一个返回 String 类型的 getName() 方法。子类 Dog 和 Cat 重写了该方法,并返回了不同的字符串。当使用父类引用指向子类对象时,调用重写的方法会根据实际对象的类型返回相应的结果。

Android 多态:子类重写方法返回不同类型?

原文地址: https://www.cveoy.top/t/topic/pTw0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录