gpt4 book ai didi

java - "one word"Android/Java 中的单例访问?

转载 作者:行者123 更新时间:2023-12-01 17:11:14 25 4
gpt4 key购买 nike

Java的 friend 们,在objectiveC中使用单例,通常你有一个宏,

#define STATE [State sharedState]

然后在整个项目中,无论在任何地方,您只需键入 STATE.explode() STATE.attackTanks() 等等。同样,在 Swift 中,您可以通过“一个词”访问宏,无需进一步的努力。

在 Android 项目中,

public class Handy {    // singleton
private static Handy ourInstance = new Handy();
private Handy() {}
public synchronized static Handy getInstance(){return ourInstance;}

public void Example(String ss) { Log.v("Java rocks ", ss); }
}

你可以像这样在任何地方访问它

Handy.getInstance()

没问题。但我的目标是在任何地方仅使用“一个词”。

当然,您可以在需要使用它的每个文件的顶部Handy HANDY = Handy.getInstance();

但是,有没有一种方法可以制作一个在整个项目范围内可用的单字符号,而无需进一步的努力?

很抱歉,如果这个问题对于 Java 专家来说是微不足道的!干杯

<小时/>

顺便说一句,我相信 Java 中还有其他方法(example)来实现单例;上面我粘贴了Android Studio提供的标准代码。

最佳答案

没有办法真正做到问题所在,因为 Java 没有全局变量/宏。这是最接近的类似可能性:

<小时/>

您可以使用内部使用 ourInstance 变量的静态方法:

public class Handy{
private static Handy ourInstance = new Handy();
private Handy() {}
public synchronized static Handy getInstance(){return ourInstance;}

public void Example(String ss){
Log.v("Java rocks ", ss);
}

public static void ExampleWithoutInstance(String ss){
ourInstance.Example(ss);
}
}

然后您可以从任何地方执行此操作:

Handy.ExampleWithoutInstance("true");

关于java - "one word"Android/Java 中的单例访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com