相关疑难解决方法(0)

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

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

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

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

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

java static

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

如何防止从特定类调用公共方法

我有一个现有的类,我想添加一个方法.但我希望只从特定类的特定方法调用该方法.有什么方法可以阻止来自其他类/方法的调用吗?

例如,我有一个现有的A类

public final class A
{
    //other stuff available for all classes/methods

    //I want to add a method that does its job only if called from a specific method of a class, for example:

    public void method()
    {
        //proceed if called from Class B.anotherMethod() else throw Exception
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做的一种方法是获取StackTrace内部method()然后确认父方法?

我正在寻找的解决方案是更清洁和可取的解决方案,如模式或其他东西.

java class public

15
推荐指数
4
解决办法
7796
查看次数

标签 统计

java ×2

class ×1

public ×1

static ×1