鱼C论坛

 找回密码
 立即注册
查看: 1597|回复: 4

[已解决]java问题

[复制链接]
发表于 2022-5-8 20:48:42 | 显示全部楼层 |阅读模式
10鱼币
提问1.png
这里为什么调用的是Node的getkey  和 getValue
最佳答案
2022-5-8 20:48:43
58869333 发表于 2022-5-8 21:07
我知道你什么意思,但是我想问的是 他向下转型是一个接口 但是为什么会调用到 实现他子类的方法


这不就是多态性么,对不同的实例执行不同的方法

调用方法时,会先检查父类中是否有该方法,若无此方法,则会抛出编译时错误,反之若有,则就会去调用其子类的同名方法

最佳答案

查看完整内容

这不就是多态性么,对不同的实例执行不同的方法 调用方法时,会先检查父类中是否有该方法,若无此方法,则会抛出编译时错误,反之若有,则就会去调用其子类的同名方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-8 20:48:43 | 显示全部楼层    本楼为最佳答案   
58869333 发表于 2022-5-8 21:07
我知道你什么意思,但是我想问的是 他向下转型是一个接口 但是为什么会调用到 实现他子类的方法


这不就是多态性么,对不同的实例执行不同的方法

调用方法时,会先检查父类中是否有该方法,若无此方法,则会抛出编译时错误,反之若有,则就会去调用其子类的同名方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-8 20:55:31 | 显示全部楼层

getKey() 和 getValue() 方法分别返回对应的 键 和 值

从代码上看,这个循环主要是为了遍历集合元素内容

所以这样调用可以清晰的打印出这个字典中的键值对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-8 21:07:15 | 显示全部楼层
Twilight6 发表于 2022-5-8 20:55
getKey() 和 getValue() 方法分别返回对应的 键 和 值

从代码上看,这个循环主要是为了遍历集合元素内 ...

我知道你什么意思,但是我想问的是 他向下转型是一个接口 但是为什么会调用到 实现他子类的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-8 21:08:39 | 显示全部楼层
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");
    }
}
和这个代码差不多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 06:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表