Java语言:类中方法赋值问题之就近原则

就近原则

代码如下

//这是一个类的构造方法
	public Cat(String name,	String species,	double weight,	int age) {
		name=name;
		species=species;
		weight=weight;
		age=age;
	}

对于这个类的构造方法,如果使用上面这样的方式进行编写的话,那么局部变量name和后面那些局部变量的值 ,不可能被赋值到类中的成员属性name,species,weight和age的,这是因为就近原则

就近原则:它会导致在程序进行编译的时候,找到最近的名字相同的变量进行赋值,通过调试你会发现,这里它是自己给自己赋了一会值,对于当前的对象里面的值,还是默认值

这里举个例子,加入你和你弟弟妹妹的名字一样,你妈妈叫某个孩子去打酱油,如果只是叫名字,那么肯定是离你妈妈最近的那个孩子先回答,但是你妈妈可能叫的是离得最远的那个孩子,因为他可能做事比较稳当,差不多就是这个道理吧!这就是个人所理解的就近原则

解决这个问题的办法就是使用this关键字,如下

public Cat(String name,	String species,	double weight,	int age) {
		this.name=name;
		this.species=species;
		this.weight=weight;
		this.age=age;
	}

这样进行赋值就可以赋值到当前的对象中了,当然你也可以改变局部变量的名字,让它和类中的成员属性的名字不同,这也是一个解决办法,但是在读程序的时候,会有一点不太好理解,当然只是一点点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值