java - 是否可以通过不同的类获取和设置类变量?
问题描述
我尝试使用 setter 与其他类 A 实例化一个类,并使用 getter 将变量获取到类 B,但它返回 null。我明白,因为我创建了类的新实例,所以它为空。还有什么其他方法?
public class ContextBrowser {
String browser;
public String getBrowser() {
return browser;
}
public void setBrowser(String browser) {
this.browser = browser;
}
}
public class SetBrowser{
public void setCurrentBrowser(String browser){
ContextBrowser contextBrowser = new ContextBrowser();
contextBrowser.setBrowser(browser);
}
}
public class getBrowser{
public String readBrowser(){
ContextBrowser contextBrowser = new ContextBrowser();
return contextBrowser.getBrowser()
}
}
解决方案
public class ContextBrowser {
/*
Singleton class
*/
private String browser;
private static ContextBrowser contextBrowserInstance;
// private constructor
private ContextBrowser() {}
public static ContextBrowser getContextBrowserInstance() {
if(contextBrowserInstance == null) {
contextBrowserInstance = new ContextBrowser();
}
return contextBrowserInstance;
}
public String getBrowser() {
return browser;
}
public void setBrowser(String browser) {
this.browser = browser;
}
}
public class SetBrowser{
public void setCurrentBrowser(String browser){
ContextBrowser contextBrowser = ContextBrowser.getContextBrowserInstance();
contextBrowser.setBrowser(browser);
}
}
public class GetBrowser{
public String readBrowser(){
ContextBrowser contextBrowser = ContextBrowser.getContextBrowserInstance();
return contextBrowser.getBrowser();
}
}
推荐阅读
- python - 点子升级后悔如何解决它
- python - CORS 在 Django 中不起作用,但设置似乎正确
- python - 如何在python字典中添加具有多个值的新键
- python - AttributeError 异常值:“IntegerField”对象没有属性“max_length”
- reactjs - 使用一个而不是多个 makeStyles 钩子
- plotly - Plotly add_hline() 不适用于 simple_white 模板
- algorithm - 无法理解区域 DP 的选择
- r - 接受字符串的函数
- ios - 如何在请求中使用自定义 json 数据创建多部分请求?
- javascript - 动态创建的按钮如何定位单个元素