Tag: 实例

为什么在一个instanceOf之后施放?

在下面的例子中(来自我的coursepack),我们想要给Square实例c1提供一些其他对象p1的引用,但前提是这两个对象是兼容的类型。 if (p1 instanceof Square) {c1 = (Square) p1;} 我在这里不明白的是,我们首先检查p1确实是一个Square ,然后我们仍然投射它。 如果它是一个Square ,为什么演员呢? 我怀疑答案在于明显和实际类型之间的区别,但我很困惑…… 编辑: 编译器将如何处理: if (p1 instanceof Square) {c1 = p1;} EDIT2: 问题是instanceof检查实际类型而不是表观类型吗? 然后演员改变了表观类型? 谢谢, JDelage

通过对象“坏forms”调用静态方法? 为什么?

在最近的一个问题中,有人询问静态方法,其中一个答案表明你通常称之为: MyClassName.myStaticMethod(); 对此的评论还表明你也可以通过一个对象来调用它: MyClassName myVar; myVar.myStaticMethod(); 但它被认为是不好的forms。 现在在我看来,这样做实际上可以让我的生活更轻松,所以我不必担心什么是静态的(a) 。 通过对象调用静态函数有问题吗? 显然你不想创建一个全新的对象来调用它: Integer xyzzy; int plugh = xyzzy.parseInt (“42”, 10); 但是,如果您已经有一个所需类型的对象, 使用它是否有问题? (a)显然,我不能用以下方法调用非静态方法: MyClassName.myNonStaticMethod(); 但这不是我在这里问的问题。

Java静态与实例

所以我的编码器朋友讨厌使用static编码。 然而,我的Java程序充满了它在类之间的链接,我有很多它们! 是否值得重写整个代码来删除静态方法? 使用一个优于另一个是否有任何优势?