java问题
这里为什么调用的是Node的getkey和 getValue 58869333 发表于 2022-5-8 21:07
我知道你什么意思,但是我想问的是 他向下转型是一个接口 但是为什么会调用到 实现他子类的方法
这不就是多态性么,对不同的实例执行不同的方法
调用方法时,会先检查父类中是否有该方法,若无此方法,则会抛出编译时错误,反之若有,则就会去调用其子类的同名方法
getKey() 和 getValue() 方法分别返回对应的 键 和 值
从代码上看,这个循环主要是为了遍历集合元素内容
所以这样调用可以清晰的打印出这个字典中的键值对
Twilight6 发表于 2022-5-8 20:55
getKey() 和 getValue() 方法分别返回对应的 键 和 值
从代码上看,这个循环主要是为了遍历集合元素内 ...
我知道你什么意思,但是我想问的是 他向下转型是一个接口 但是为什么会调用到 实现他子类的方法 Twilight6 发表于 2022-5-8 20:55
getKey() 和 getValue() 方法分别返回对应的 键 和 值
从代码上看,这个循环主要是为了遍历集合元素内 ...
package Map_;
import java.util.ArrayList;
public class asd {
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add(new B());
for (Object obj : arrayList){
A a = (A)obj;
a.a();
}
}
}
interface A{
void a();
void b();
}
class B implements A{
public void a() {
System.out.println("这是a");
}
@Override
public void b() {
System.out.println("这是b");
}
}
和这个代码差不多
页:
[1]