- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Java Tapestry 应用程序中,我有一个名为 NachrichtenBubble.java 的类,它测试是否有任何消息要宣布,以及是否应显示特定元素。它看起来像这样:
public boolean ShowBubble() {
int n = getHowManyNachrichten();
if (n == 0) {
return false;
}
return true;
}
现在,在我的应用程序的不同位置,我想根据有多少消息来确定是否显示或隐藏元素。由于这已在 NachrichtenBubble.ShowBubble() 中完成,因此我希望能够从我的单独类(我们将其称为 OtherClass.java)调用 ShowBubble() 并根据结果执行操作。
如果我将其放入 OtherClass.java 中,则会收到“无法从 NachrichtenBubble 类型对非静态方法 ShowBubble() 进行静态引用”错误:
public boolean ShowNachrichten() {
boolean m = NachrichtenBubble.ShowBubble();
return m;
}
我已经阅读了这里其他静态/非静态方法问题的答案,这些问题很有教育意义,但我无法成功地将它们应用到这个问题上。我尝试在 NachrichtenBubble.java 中创建一个新的 Context 方法,并从 OtherClass.java 调用该方法,但它不起作用。
我应该坚持尝试基于上下文的解决方案,还是可以尝试其他方法从 NachrichtenBubble.ShowBubble() 获取可用结果到 OtherClass.ShowNachrichten() 中?
最佳答案
您对 NachrichtenBubble 的调用是静态的,换句话说,您没有该类的实例。不过 ShowBubble 方法是一个实例方法。您可以将 ShowBubble 方法更改为静态方法,但前提是它调用的方法 (getHowManyNachrichten()) 也可以设为静态并且不使用任何实例字段,考虑到名称,这似乎不太可能。
换句话来说,如果没有特定的 NachrichtenBubble,您(可能)不知道有多少个 Nachrichten,因此您无法询问该信息。
或者,您可以让您的 OtherClass 了解 NachrichtenBubble 的这个实例。
另一方面,我可能不会重复使用这样的方法。特别是因为您可以通过 getHowManyNachrichten() > 0 替换整个方法
关于java - Java Tapestry 中的静态、非静态以及不同类之间的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200988/
所以我有这个 UltraTicTacToe 游戏,我正在用 HTML/CSS/JS 编码。它由表中表中的表组成。当您单击 X 或 O 时,我想要突出显示您应该进入的下一个 TicTacToe 牌 ta
Some text Some more text 如何让每个 .example 的 .whatever 包含其 .test 的内容? 例如,如果代码是这样的: Som
我是一名优秀的程序员,十分优秀!