Tag: static members

为什么代码会通过空指针显式调用静态方法?

我在几个旧的项目中看到过这样的代码: class Class { static void Method() {} }; ((Class*)0)->Method(); 此代码包含未定义的行为,因为它包含解引用空指针(不pipe之后会发生什么)。 这真的没有任何意义 – 在那里将types名称提供给编译器,而编写上面代码的人可以写下这个代码: Class::Method(); 后者会好的。 为什么会有人写前代码? 这是一个很好的旧时代的成语吗?

在android中定义常量的最佳方式是静态类,接口还是xml资源?

我正在开发一个使用Web服务从服务器获取数据的Android应用程序,因为我有三个不同的URL指向开发系统,testing服务器和活服务器。 每当我想为应用程序提供testing/生活时,都很难更改URL。 所以我打算将其设置为可configuration的,以便应用程序可以根据我的构buildtypesconfiguration常量获取适当的URL。 所以, 这是保持这个常量,java静态类或java公共接口或xml资源文件的最好方法。 什么时候? 为什么? 哪个更好的performance呢, 什么时候? 为什么? 例如:xml资源 <integer name="config_build_type">0</integer> <string-array name="url_authentication"> <item >http://development.com/xxxx</item> <item >http://test.com/xxx</item> <item >http://example.com/xxx</item> </string-array> Java静态常量 public class Config { public static final int BUILD_TYPE = 0; // 0 – development, 1 – test, 2 – live public static final String[] URL_AUTHENTICATION = {"http://development.com/", "http://test.com/", "http://example.com"}; }