例如,
public class ClassA {
// no instance fields
public int method1(int x, int y) {
// do things...
return x+y;
}
}
我感觉到一种强烈的冲动,想要声明公共静态void int方法(int x,int y),但似乎“Java中的人”不喜欢使用静态方法,除非有很好的理由。你们觉得呢?
静态方法在正确的上下文中是很好的。
试着弄清楚调用一个方法是否有意义,即使一个类还没有声明。
例如,java API中的数学方法。您希望能够方便地简单键入:
Math.abs(value)
public class ClassA {
// no instance fields
public int method1(int x, int y) {
// do things...
return x+y;
}
我会声明这是静态的。
大多数在线来源都表明您可以静态链接glibc,但不鼓励这样做;例如centos包repo: glibc静态包包含用于静态链接的C库静态库。你不需要这些,除非你静态链接,这是非常不鼓励的。 这些消息来源很少(或从未)说明为什么这是个坏主意。
问题内容: 这是来自Hibernate的官方教程: 还有一个替代声明,该声明允许使用组合键访问旧数据。强烈建议不要将其用于其他任何用途。 为什么不鼓励使用复合键?我正在考虑使用一个三列表,其中所有列都是外键,并且一起形成一个主键,这在我的模型中是有意义的关系。我不明白为什么这是一个坏主意,特别是我将在它们上使用索引。 有什么选择?创建一个额外的自动生成的列并将其用作主键?无论如何,我仍然需要查询我
所以,简而言之。我有两节课。 它不断地抛出错误“不能对非静态方法gameStart()进行静态引用”。我肯定我错过了一些简单的东西,但找不到了。谢了!
问题内容: 我刚刚在一些我未编写的代码中发现了一个错误,我对此感到有些惊讶: 尽管该代码在输入数据上失败了很多 _(因为它试图以17.01.2011格式查找日期并返回诸如10396/2011之类的东西,然后由于无法解析日期而崩溃,但这 确实是错误 的)这个问题的重点;)_我想知道: Pattern.compile 的要点之一不是要进行速度优化(通过预编译正则表达式)? 难道不是所有的“静态”模式都
问题内容: 为什么我们不能在非静态内部类中使用静态方法? 如果我将内部类设为静态,则可以工作。为什么呢 问题答案: 因为内部类的实例与外部类的实例隐式关联,所以它本身不能定义任何静态方法。由于静态嵌套类无法直接引用其封闭类中定义的实例变量或方法,因此只能通过对象引用使用它们,因此在静态嵌套类中声明静态方法是安全的。
问题内容: 假设以下内容: parsedUntil是否被视为静态变量?我注意到我无法在此静态函数中将其声明为静态。 后续问题:我读到一个静态变量只会被初始化一次。这是否意味着我第一次调用函数A()时,该值将设置为零,但是每隔一次我调用A()时,该行将被省略吗? 问题答案: 不,它不是静态变量。这是一个局部变量。方法中声明的任何变量都是局部变量。如果需要静态变量,则必须在方法外声明它: 没有办法声明