2011-01-20 94 views
1

如果我们可以确定实例是单例,那么静态方法总是可以转换为实例方法?是对的吗?一个静态方法总是可以转换为一个实例方法吗?

+2

使用静态vs实例方法是一个设计问题,为什么要将静态方法转换为实例方法,如果有理由使其成为静态方法? – Matten 2011-01-20 15:43:51

+0

如果这个实例是一个单例,为什么你打扰?静态类(和静态方法)实际上是单例模式的实现。 – Massif 2011-01-20 15:52:10

回答

3

当然,标记为static的方法可以转换为实例方法。标记为static的方法必须是不使用特定于实例的任何状态信息的方法(除非实例作为参数传入)。它们可以作为实例方法重写,并且不依赖特定于实例的状态信息(或者使用this代替)。

0

您当然可以这样做,但您可能会破坏调用静态方法的现有代码。特别是如果该方法是公开可见的。

相关问题