相关疑难解决方法(0)

为什么静态变量被视为邪恶?

我是一名Java程序员,对企业界不熟悉.最近我使用Groovy和Java 开发了一个应用程序.我编写的所有代码都使用了相当多的静态代码.高级技术部门要求我减少使用的静力学数量.我用Google搜索了同样的东西,我发现很多程序员都反对使用静态变量.

我发现静态变量使用起来更方便.而且我认为它们也是有效的(如果我错了,请纠正我),因为如果我必须对一个类中的函数进行10,000次调用,我很乐意将该方法设置为静态并使用简单的方法Class.methodCall()而不是用10,000个类的实例来混乱内存,对吧?

此外,静态减少了代码其他部分的相互依赖性.他们可以充当完美的国家持有者.除此之外,我发现静态在一些语言中得到广泛实现,如SmalltalkScala.那么为什么程序员(尤其是Java世界)中普遍存在对静态的压迫呢?

PS:如果我对静力学的假设是错误的,请纠正我.

java static

606
推荐指数
16
解决办法
23万
查看次数

我们为什么不使所有内容静止?

为什么我们不能仅仅将所有方法和变量都设为静态,以免陷入制造对象的麻烦?

自从我很久以前开始学习Java以来​​,我就一直遇到这个问题,但是从未提出过。我知道,如果方法或变量不是静态的,则可以使用创建的对象来调用它:

public class classwithmethodandvariable {

    int i = 7;

    public void hello() {
    }

}
Run Code Online (Sandbox Code Playgroud)

您可以这样称呼:

public class myMainClass {

    classwithmethodandvariable obj = new classwithmethodandvariable();
    classwithmethodandvariable.i++;  // ACCESS INT I AND INCREMENT
    classwithmethodandvariable.hello();  // CALLS METHOD HELLO

}
Run Code Online (Sandbox Code Playgroud)

但是,如果我们有了方法hello()和变量,i就可以用更少的代码行完成所有工作,对吗?

public class classwithmethodandvariable {

    static int i = 7;

    public static void hello() {
    } 

}
Run Code Online (Sandbox Code Playgroud)

您可以这样称呼:

public class myMainClass {

    classwithmethodandvariable.i++;  // ACCESS INT I AND INCREMENT
    classwithmethodandvariable.hello();  // CALLS METHOD HELLO

}
Run Code Online (Sandbox Code Playgroud)

我们为什么不这样做呢?我看到了另一个 …

java static

0
推荐指数
1
解决办法
2503
查看次数

标签 统计

java ×2

static ×2