我有一个名为
的班级public class UserSettings {
public static String sessionId;
public static int vrefresh;
public static int mrefresh;
}
然后在另一个班级我有这个方法
public static void parseBusinessObject(String input, Object output)
此方法写入输出对象。
但是在这种情况下仍然存在静态变量,所以我可以在不创建对象的情况下传递类?
答案 0 :(得分:2)
您根本不需要传递类,您可以将目录写入静态属性:
UserSettings.mrefresh = 42;
您是否是一个不同的问题。如果您将UserSettings
作为Object
参数传递(从帖子中不清楚),则可以通过实例引用访问静态成员:
output.mrefresh = 42;
这被认为是......次优的:Java约定只通过类访问静态属性,而不是实例,尽管这样做的语法合法性。但是您的方法需要Object
,因此您需要根据instanceOf
结果使用反射或强制转换 - 我对方法本身持怀疑态度。
答案 1 :(得分:2)
您可以使UserSettings
上的变量不是静态的(即删除静态修饰符),然后创建UserSettings
的新实例,然后将其传递给parseBusinessObject
。
我想这就是你打算做的事。