相关疑难解决方法(0)

单例类和静态类之间的区别?

可能的重复:
静态类和单例模式之间的区别?
Java中的Singleton模式和静态类有什么区别?

我不明白得到单例类和静态类有什么区别?任何人都可以用例子详细说明吗?

java singleton static

27
推荐指数
4
解决办法
8万
查看次数

静态与非静态类成员

我是初学者和编程人员.我有一个简单的问题 - 关于静态/非静态变量的最佳实践是什么.

我有一个变量private int x,它属于y类.要访问此变量,我需要引用y.如果x是静态的,我可以访问此变量而不引用y.

在类y中的几个方法将引用此值的情况下,哪种方法最好?

希望这是有道理的,我的问题不是太基础!

非常感谢

c# oop static class object

22
推荐指数
2
解决办法
4万
查看次数

如何使用Mockito/Powermock模拟枚举单例类?

我不确定如何模拟枚举单例类.

public enum SingletonObject{
  INSTANCE;
  private int num;

  protected setNum(int num) {
    this.num = num;
  }

  public int getNum() {
    return num;
  }
Run Code Online (Sandbox Code Playgroud)

我想在上面的例子中存根getNum(),但我无法弄清楚如何模拟实际的SingletonObject类.我认为使用Powermock准备测试会有所帮助,因为枚举本身就是最终的.

//... rest of test code
@Test
public void test() {
  PowerMockito.mock(SingletonObject.class);
  when(SingletonObject.INSTANCE.getNum()).thenReturn(1); //does not work
}
Run Code Online (Sandbox Code Playgroud)

这是使用PowerMockMockito 1.4.10和Mockito 1.8.5.

java singleton enums mockito powermock

20
推荐指数
1
解决办法
3万
查看次数

单身模式

我们什么时候应该使用Singleton模式?为什么?

singleton design-patterns

19
推荐指数
4
解决办法
7468
查看次数

静态成员是否有助于内存效率?

如果我有一个类,我期望在一个对内存敏感的应用程序中的数千个实例中使用它,如果我将静态功能分解为静态成员会有帮助吗?

我想静态方法和变量每个类存储一次,而对于非静态成员,必须为每个实例存储一些东西.

使用成员变量,似乎很清楚,但是为方法存储了哪种数据?

我正在使用Java,但我想象一些适用于其他托管环境(例如.NET)的通用规则.

java memory-management

17
推荐指数
3
解决办法
1万
查看次数

Java单例是否应该使用静态变量?

Java中的单例是否应该使用静态变量或成员变量?两者都有任何优势吗?

java singleton

16
推荐指数
3
解决办法
2万
查看次数

静态方法还是Singleton,哪一种可供选择?

可能重复:
静态类和单例模式之间的区别?

哪个在Java中更好,

实现公共静态方法,比如

Factory.createLoginRequest()
Run Code Online (Sandbox Code Playgroud)

或者实现Singleton模式,比如

Factory.getInstance().createLoginRequest()
Run Code Online (Sandbox Code Playgroud)

(Boths将返回一个Request对象.)

哪一个更好,为什么

java singleton static android design-patterns

15
推荐指数
2
解决办法
1万
查看次数

单例类与静态成员的类

尽管有关该主题的许多主题,我仍然不清楚何时选择哪种方法.我希望通过讨论一个具体的例子,我终于"明白了".

注意:我的语言是Cocoa,尽管一般问题不是语言特定的.

我有一个类TaskQueue,我想用它:

  • 从我的代码中的任何位置访问,以添加或删除计划任务
  • 定期自动处理计划任务

首次使用TaskQueue时,我希望TaskQueue启动一个线程,然后定期唤醒该线程来处理任务.

显然,我至少需要两个变量:

  • 用于存储任务的数组
  • 处理任务的线程的实例

由于我只需要一个任务队列和一个线程来处理这些任务,我有两个选择:

  1. 做任务队列一个单独的类(如描述例如使用CWL_DECLARE_SINGLETON_FOR_CLASS_WITH_ACCESSOR http://www.cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html,我相信我将不得不修改CWLSynthesizeSingleton. h文件在初始化时启动线程.)

  2. 让任务数组和线程实例都是静态的(遵循这里建议的方法:如何在Objective-C中声明类级属性?)

在这个特定情况下,是否有一种方法比另一种方法更好?如果是这样,为什么?

singleton static-members

10
推荐指数
1
解决办法
1万
查看次数

PHP:Singleton与静态类

可能重复:
静态类和单例模式之间的区别?

只是想知道单例和静态类的区别究竟是什么?

php oop singleton static-methods

9
推荐指数
1
解决办法
8935
查看次数

静态属性和单例之间有什么区别?

使用C#实现的Singleton可以是:

public class Singleton
{
   private static Singleton instance;

   private Singleton() {}

   public static Singleton Instance
   {
      get 
      {
         if (instance == null)
         {
            instance = new Singleton();
         }
         return instance;
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用静态来实现它像:

public static class Globals{
  public static Singleton Instance = new Singleton();
}
Run Code Online (Sandbox Code Playgroud)

通过这种方式,app也应该只获得整个应用程序的一个实例.那么这两种方法之间的区别是什么?为什么不直接使用静态成员(更简单直接)?

c# design-patterns

7
推荐指数
1
解决办法
1605
查看次数