在C#中有什么区别: public static class ClassName {} 和: public class ClassName {}
我看到很多的Java代码,Android喜欢让开发人员使用静态内部类。 特别适用于像自定义ListAdapters中的ViewHolder Pattern那样的模式 。 我不确定静态类和非静态类之间有什么区别。 我已经读过了,但是在关注性能或者内存占用方面似乎没有意义。
一个同事刚刚在C#中创build了以下结构(示例代码被简化了)。 他的目标是缩短其余代码中所有预定义string的符号。 public struct PredefinedStrings { public const string VeryLongName = "Very Long Name"; public const string AnotherVeryLongName = "Another Very Long Name"; public const string TheLastVeryLongName = "The Last Very Long Name"; } public static void MethodThatUsesTheNames() { Console.WriteLine(PredefinedStrings.VeryLongName); Console.WriteLine(PredefinedStrings.AnotherVeryLongName); Console.WriteLine(PredefinedStrings.TheLastVeryLongName); } 虽然它似乎为他工作正常,我不能停止想知道他是否应该使用静态类,而不是一个结构,或者如果有更好的方法来实现这一点。 什么是这样做的首选方法? 请解释为什么。
在java中有什么像static class ? 这样的class级是什么意思? 静态类的所有方法都需要static吗? 是否需要反过来,如果一个类包含了所有的静态方法,那么这个类是否也是静态的? 什么是静态类适合?
很明显,在静态类上不能有一个实例成员,因为这个类永远不能被实例化。 为什么我们需要声明成员是静态的?
为什么你不能在Java中声明一个静态的类?
我正在开发一个带有服务的Android 2.3.3应用程序。 我有这个服务与主要活动沟通: public class UDPListenerService extends Service { private static final String TAG = "UDPListenerService"; //private ThreadGroup myThreads = new ThreadGroup("UDPListenerServiceWorker"); private UDPListenerThread myThread; /** * Handler to communicate from WorkerThread to service. */ private Handler mServiceHandler; // Used to receive messages from the Activity final Messenger inMessenger = new Messenger(new IncomingHandler()); // Use […]