如何引用对象';Java中的s字段?
我有一个类如何引用对象';Java中的s字段?,java,Java,我有一个类MainScreen,它在启动时被实例化。如何从另一个类中获取MainScreen对象的字段而不重新实例化该类 public class MainScreen { private String user; public String getUser() { return user; } } public class OtherClass { public void getTheUser() { MainScreen.this.getUser(); /
MainScreen
,它在启动时被实例化。如何从另一个类中获取MainScreen
对象的字段而不重新实例化该类
public class MainScreen {
private String user;
public String getUser() {
return user;
}
}
public class OtherClass {
public void getTheUser() {
MainScreen.this.getUser(); // Here I want to get the user from instantiated main's mainscreen
}
}
public class Main() {
public static void main(String[] args) {
new MainScreen();
}
}
通常,通过在某个阶段将
Main
创建的Main
实例传递到OtherClass
中,例如通过OtherClass
构造函数,然后让OtherClass
使用getUser
获取用户
一种非常不理想的方法是在
Main
上放置一个public static
字段,用于存储Main屏幕
引用,然后让OtherClass
使用该字段。再次强调:这并不理想,尤其是因为它使得为类编写测试变得更加困难,并且增加了三个类之间的耦合。通常,在某个阶段,通过将Main
创建的MainScreen
实例传递到OtherClass
中,例如通过OtherClass
构造函数,然后让OtherClass
使用getUser
获取用户
一种非常不理想的方法是在Main
上放置一个public static
字段,用于存储Main屏幕
引用,然后让OtherClass
使用该字段。再次强调:这并不理想,尤其是因为它使得为类编写测试变得更加困难,并且增加了三个类之间的耦合。您可以使用
您可以使用
这是错误的:
MainScreen.this.getUser();
您不能从另一个类中引用此。从OtherClass
获取User
的一种方法是在构造函数或setter方法中传递它
public class MainScreen {
private String user;
public MainScreen(String user){
this.user = user;
}
public String getUser() {
return user;
}
}
public class OtherClass {
String user;
public OtherClass(String user){
this.user = user;
}
public String getUser() {
return this.user;
}
}
public class Main() {
public static void main(String[] args) {
String user = "user1";
new MainScreen(user);
new OtherClass(user);
}
}
这是错误的:
MainScreen.this.getUser();
您不能从另一个类中引用此。从OtherClass
获取User
的一种方法是在构造函数或setter方法中传递它
public class MainScreen {
private String user;
public MainScreen(String user){
this.user = user;
}
public String getUser() {
return user;
}
}
public class OtherClass {
String user;
public OtherClass(String user){
this.user = user;
}
public String getUser() {
return this.user;
}
}
public class Main() {
public static void main(String[] args) {
String user = "user1";
new MainScreen(user);
new OtherClass(user);
}
}
main屏幕
实例的用户
必须以某种方式传递给SomeOtherClass
。您是否有多个用户?是的,我有多个用户。正如TJ Crowder所说,您需要将特定main屏幕
实例的引用传递给您的其他类
。OtherClass
中的构造函数或助手方法将完成main屏幕
实例的用户
必须以某种方式传递给SomeOtherClass
。您是否有多个用户?是的,我有多个用户。正如TJ Crowder所说,您需要将特定main屏幕
实例的引用传递给您的其他类
。OtherClass
中的构造函数或帮助器方法会导致OP有多个用户OP有多个用户