问答详情
源自:2-6 列表查询

servlet中注入service ,先声明service ,后再方法中new;与不声明,直接实例化有区别吗?

1、先声明,再在方法中new 

private MessageService msgService;

public 。。。{

msgService=new MessageService ();

}

2、不声明,直接在方法中new

 MessageService  msgService=new MessageService ();

提问者:ZAL1209 2015-12-09 10:55

个回答

  • 惫懒sloth
    2015-12-09 13:22:56

    作用域不同,一个是类成员声明,一个是方法局部声明。一个是在全局可起作用,一个只在方法内部起作用。

  • HansonQ
    2015-12-09 12:51:05

    有点类似全局变量和局部变量的区别 只不过这个是全局的对象每一个方法都可以用这个对象处理

  • Caballarii
    2015-12-09 11:26:36

    其他方法里也可以调用msgService,而不是只能在直接实例化的方法中使用

  • RockenRoll
    2015-12-09 11:04:29

    实例化了就有自己内存空间。而没有实例化就和引用的对象内存空间地址相同,指向同一个空间。