对象的Java问题

对象的Java问题,java,Java,我有一门课叫 public class UserSettings { public static String sessionId; public static int vrefresh; public static int mrefresh; } 然后在另一节课上,我有这个方法 public static void parseBusinessObject(String input, Object output) 这个方法写入输出对象 但是在这种情况下仍然存在静

我有一门课叫

public class UserSettings {
    public static String sessionId;
    public static  int vrefresh;
    public static  int mrefresh;
}
然后在另一节课上,我有这个方法

public static void parseBusinessObject(String input, Object output) 
这个方法写入输出对象


但是在这种情况下仍然存在静态变量,因此我可以在不创建对象的情况下传递该类?

您根本不需要传递该类,您可以将目录写入静态属性:

UserSettings.mrefresh = 42;
你是否应该是另一个问题。如果将
UserSettings
作为
对象
参数传递(文章中未明确),则可以通过实例引用访问静态成员:

output.mrefresh = 42;

这被认为是。。。次优:Java约定仅通过类而不是实例访问静态属性,尽管这样做在语法上是合法的。但是你的方法需要一个
对象
,因此你需要根据
实例的
结果使用反射或强制转换——我怀疑这个方法本身。

你可以使
用户设置
上的变量不是静态的(即移除静态修饰符),然后创建一个
用户设置
的新实例,然后将其传递给
parseBusinessObject


我想这就是你想要做的。

你不能以问答的形式学习一门语言。你需要读书,当你有一些问题不能通过读书来回答时,你可以回到这里来。@MikeNakis我会对此提出异议,例如,@DaveNewton我理解这是幽默,但我不明白这是与我的评论一致还是不一致。@DaveNewton:非常有趣(你可能有点道理)。@MikeNakis幽默感如何?我不同意你的观点,因为你是不正确的。因此,以同样的方式学习一门语言的正确地点不是,但这不同于无效的方法。