gpt4 book ai didi

Java,泛型和继承

转载 作者:行者123 更新时间:2023-11-30 07:07:13 25 4
gpt4 key购买 nike

<分区>

我有一个关于泛型、继承和接口(interface)的基本问题。

给定以下代码:

import java.util.ArrayList;
import java.util.List;

public class Generics {

private Class1 obj1 = new Class1();

public Generics() {
Class1 obj1 = new Class1();
Class2 obj2 = new Class2();
Class2 obj3 = new Class2();
Class2 obj4 = new Class2();

List<Class2> obj1Children = new ArrayList<Class2>();

obj1Children.add(obj2);
obj1Children.add(obj3);
obj1Children.add(obj4);
}

public static void main(String[] args) {
Generics g = new Generics();
}


private class Class1 implements I1 {

private List<I2> children;

@Override
public List<I2> getChildren() {
return children;
}

@Override
public void setChildre(List<I2> children) {
this.children = children;
}
}

private class Class2 implements I2 {
}

private interface I1 {
List<I2> getChildren();
void setChildre(List<I2> children);
}

private interface I2 {
}
}

在 Class1 中,如果您更改行:

    private List<I2> children;

    private List<Class2> children;

然后我有一个编译错误,告诉我它不能将 List 转换为 List。

我很困惑,因为我认为接口(interface)的全部意义在于摆脱事物的实现方面。

谁能解释一下?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com