java 构造函数 参数_Java中构造函数中的最终参数(Final parameters in a constructor in Java)...

I am learning about classes and constructors in Java. I messing around with the code in an example program and can't seem to figure out exactly what's going on.

This code won't compile which makes sense to me:

class Line {

Point start;

Point end;

Line(final Point start, final Point end) {

this.start = new Point(start);

this.end = new Point(end);

start = new Point(0.4, 0.4);

}...

I'm trying to assign the original start Point object reference to another Point object by calling the constructor of the Point object. The final keyword is in conflict with this.

However when I remove the final keyword from the Point start parameter...

class Line {

Point start;

Point end;

Line(Point start, final Point end) {

this.start = new Point(start);

this.end = new Point(end);

start = new Point(0.4, 0.4);

}

it doesn't seem to actually change the reference, the Point object that is passed to the Line constructor still seems to point to the original object and is unchanged by the code of the Line constructor. So what gives? Does this have something to do with the fact that the 'start' referred to is local in scope to the Line constructor?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值