多个方法引用同样一个对象应该要怎么声明以及实例化

solo_ing 2019-12-05 02:24:27

第一种:
public class TestTest {

Map<String, Object> parameterMap;

@Test
public void test1() {
parameterMap = new HashMap<String, Object>();
}

@Test
public void test2() {
parameterMap = new HashMap<String, Object>();
}
}

第二种:
public class TestTest {

Map<String, Object> parameterMap;

@Test
public void test1() {
Map<String, Object> parameterMap = new HashMap<String, Object>();
}

@Test
public void test2() {
Map<String, Object> parameterMap = new HashMap<String, Object>();
}
}

求问这两种写法,那种更好呢?为什么?
...全文
152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
李逢涛 2019-12-11
  • 打赏
  • 举报
回复
去搜索一下java单例模式 public class Singleton1 { 4 private static Singleton1 singleton = null; 5 private Singleton1() { 6 } 7 public static Singleton1 getInstance() { 8 if (singleton == null) { 9 singleton = new Singleton1(); 10 } 11 return singleton; 12 } 13 } 比如你的,如果在 test1里new了。到test2里就可以判断 if(parameterMap == null){ parameterMap = new HashMap<String, Object>(); }
qq_40413209 2019-12-07
  • 打赏
  • 举报
回复
你这不是同一个对象啊,每个new就是一个对象。前面只不过是引用。就你写的而言,你想在2个test方法中共享一个对象,最上面声明的时候new就行了,下面方法内别声明。不过我比较菜,不确定这种写法有没有什么更高级的影响。
qybao 2019-12-05
  • 打赏
  • 举报
回复
啥意思,没看明白
变量作用域还是一样吗?

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧