java返回有什么用,java中的return this什么时候用,返回的是类里面的方法类型,还是实例类?上面的代码什么意思...

java中的return this什么时候用,返回的是类里面的方法类型,还是实例类??下面的代码什么意思?

public class RoleService extends BaseService {

private IRoleDao roleDao;

public ServiceReturns> findAll() throws Exception {

String ss ;

try {

List allRoleList = roleDao.findAll(Role.class);

if (allRoleList.size() <= 0) {

this.setSuccess(false);

this.setMessageCode(MessageConstant.FIND_ALLROLE_FAILURE);

return this;

}

this.setDataObject(allRoleList);

this.setForwardUrl(ForwardUrlConstant.FIND_ALLROLE_SUCCESS);

return this;

} catch (Exception exception) {

this.saveLog(exception, new LogDetails(

ModuleConstant.MODULE_ROLE_MANAGEMENT,

ModuleConstant.METHOD_COMMON_FIND_ALL, getClassName()),

MessageConstant.FIND_ALLROLE_FAILURE);

this.setSuccess(false);

}

return this;

}

这个类中好几个return this 各代表什么意思啊?

public class BaseService extends ServiceReturns{

private LogDetails logDetails = new LogDetails();

protected LogDao logDao;

public void saveLog(LogDetails log){

logDao.save(log);

}

public LogDao getLogDao() {

return logDao;

}

.....

public class ServiceReturns {

private boolean success ;

private String messageCode;

private T dataObject;

private String forwardUrl="";

public String getMessageCode() {

return messageCode;

}

public void setMessageCode(String messageCode) {

this.messageCode = messageCode;

}

public ServiceReturns() {

}

public ServiceReturns(boolean _success) {

this.success = _success;

}

.....

RoleService其实继承了serviceReturn ,但是RoleService 中的方法返回的又是serviceReturn ,RoleService 中的方法return this指的是什么,RoleService 中的saveLog方法里面的this.setSuccess(false)应该值的是ServiceReturn类中的变量,而对这个方法而言没有返回值啊?

我去完全晕了!!!!

------解决方案--------------------

return this;返回的是实际调用这个方法的实例化对象。

比如 ServiceReturns> r = new RoleService();

我们实例化了一个RoleService类型的对象,把它赋给了ServiceReturns> 类型的引用 r

(子类类型对象可以隐式转换成其父类类型的对象)

r.findAll()返回的是r引用的实例化对象

所以你需要理解的是

1.对象和对象引用的区别

2.父类引用可以引用子类实例化对象的原因

------解决方案--------------------

引用:return this;返回的是实际调用这个方法的实例化对象。

比如 ServiceReturns> r = new RoleService();

我们实例化了一个RoleService类型的对象,把它赋给了ServiceReturns> 类型的引用 r

(子类类型对象可以隐式转换成其父类类型的对象)

r.findAll……

正解  方法的返回值  可以返回当前对象的引用,也可以返回当前对象子类的引用。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值