gpt4 book ai didi

java - 什么是 Java 中的鸭子类型(duck typing)的示例?

转载 作者:IT老高 更新时间:2023-10-28 20:53:08 43 4
gpt4 key购买 nike

我最近才听说鸭子类型(duck typing),我读了Wikipedia article关于它,但我很难将这些示例翻译成 Java,这对我的理解很有帮助。

任何人都可以给出一个在 Java 中进行鸭式输入的清晰示例以及我可能如何使用它吗?

最佳答案

Java 在设计上不适合鸭式打字。您可能选择这样做的方式是反射:

public void doSomething(Object obj) throws Exception {

obj.getClass().getMethod("getName", new Class<?>[] {}).invoke(obj);
}

但我会提倡使用动态语言(例如 Groovy),这样更有意义:

class Duck {
quack() { println "I am a Duck" }
}

class Frog {
quack() { println "I am a Frog" }
}

quackers = [ new Duck(), new Frog() ]
for (q in quackers) {
q.quack()
}

Reference

关于java - 什么是 Java 中的鸭子类型(duck typing)的示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079785/

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