Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的多态性示例_Java_Oop_Polymorphism - Fatal编程技术网

java中的多态性示例

java中的多态性示例,java,oop,polymorphism,Java,Oop,Polymorphism,我是Java初学者,因此,如果这个问题对您来说太简单,我很抱歉 谁能解释一下Java中的多态性是什么? 我只需要一段简单描述它的代码 谢谢。看看JDK本身。您将在许多地方看到多态性,例如,如果您查看java.util集合。有一个java.util.List接口引用类型可以表现为ArrayList或LinkedList,具体取决于您为其指定的运行时类型。对我来说就像是家庭作业,但我很无聊,java让我怀旧 List<A> list = new ArrayList<A>();

我是Java初学者,因此,如果这个问题对您来说太简单,我很抱歉

谁能解释一下Java中的多态性是什么? 我只需要一段简单描述它的代码


谢谢。

看看JDK本身。您将在许多地方看到多态性,例如,如果您查看java.util集合。有一个java.util.List接口引用类型可以表现为ArrayList或LinkedList,具体取决于您为其指定的运行时类型。

对我来说就像是家庭作业,但我很无聊,java让我怀旧

List<A> list = new ArrayList<A>();
list.add(new A());
list.add(new A());
list.add(new B());

public void printAll() {
    for(A i : list) {
        System.out.println(i.print());
    }
}

class A {
    public String print() {
        return "A";
    }
}

class B extends A {
    @Override
    public String print() {
        return"B";
    }
}

多态部分是指为同一方法调用执行不同的代码。循环每次都做相同的事情,但实际上可能会调用不同的实例方法。

前面已经介绍了几个教程。这里有一个快速的例子,我希望是准确的(就像回答测试一样)

参数多态性 同一类定义了多个具有相同名称但参数数组不同的函数。参数编号和/或类型可以将调用路由到正确的函数

class PolyTest1 {
  private void method1(int a) {}
  private void method1(String b) {}
}
遗传多态性 类可以重新定义其父类的方法之一。对象类型使调用正确的函数成为可能

public class PolyTest2 extends PolyTest1{

  private void method1(String b) {}
}

这个问题的第一个答案中给出的例子清楚地说明了这个概念。看一看!

从这里学习多态性:我认为任何一本好书都会回答你……圣经是经典之善Book@Daniel是的,我最喜欢的插花书奇怪地没有提到Java中的多态性。
public class PolyTest2 extends PolyTest1{

  private void method1(String b) {}
}