gpt4 book ai didi

java - 迭代时缺少对象的方法

转载 作者:行者123 更新时间:2023-12-05 08:20:13 28 4
gpt4 key购买 nike

<分区>

出于练习目的,我想实现以下目标。

  1. 界面简单

  2. 实现该接口(interface)的简单类

  3. 创建类的两个实例

  4. 将它们存储在集合中(本例中为 ArrayList)

  5. 迭代调用类上的方法的集合

接口(interface):

public interface MyInterface {
void sayHello();
}

类:

public class Person implements MyInterface{
private String name;

public Person(String nameValue) {
name = nameValue;
}

@Override
public void sayHello() {
System.out.println(name);
}
}

主要内容:

public class DemoApplication {

public static void main(String[] args) {
ArrayList<MyInterface> personHolder = new ArrayList();
MyInterface me = new Person("Myself");
MyInterface daughter = new Person("Daughter");
personHolder.add(me);
personHolder.add(daughter);

greeter(personHolder);

}

static void greeter(ArrayList persons){

persons.forEach((person -> {

}));
}
}

现在在循环中的 greeter 方法中,我期待简单地调用:

person.sayHello()

但是当我检查这个人时,我没有看到类方法。经过一番尝试后,这段转换 Person 的代码似乎可以工作:

((Person) person).sayHello();

我的方法哪里去了?为什么我必须施法才能得到它?我的背景是 Javascript,我有点希望它就在那里。

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