美元美元=(美元)对象; 这是什么意思?

4
Dollar dollar= (Dollar) object;

这段代码是做什么的?它是Java还是Smalltalk?我在TDD中找到了它,我认为它是以Smalltalk为基础编写的。


对我来说,TDD是“测试驱动设计”的首字母缩写-作为一个概念,它不应该与特定的编程语言有关...还是说这三个字母有另外的解释? - Andreas Dolk
是的,测试驱动开发 :) 我只是一个初学者,试图以正确的方式学习东西,而不是学习然后再去忘记。你说得对,它应该与任何特定的语言无关。但那一行让我困惑了,因此才有了这个问题! - Kaustubh
3个回答

9
这可能是Java。它基本上将一个泛型类型的对象(可能只是Object)转换为Dollar对象。
例如:
Object object = ObjectFactory.getObject(); // Gets object
Dollar dollar = (Dollar) object; // Cast to Dollar object, will throw an exception
                                 // if this isn't possible
dollar.dollarMethod();   // I can now call Dollar methods

4

它创建了一个名为dollar的Dollar类新变量。然后,通过将名为object的变量转换为Dollar类型来为该变量赋值。只要定义了名为Dollar的类,这是有效的Java代码。但是,如果名为object的变量不是Dollar类,则可能会抛出ClassCastException异常。


3
变量本身不一定要是 Dollar 类型的,存储在该变量中的实例必须是 Dollar 类(或 Dollar 子类)的实例。 - user85421

0

这实际上将通用类型(Object)转换为Dollar类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接