چرا در جاوا دو تا متغیر هم نام تعریف می‌کنند و بعد میان با this فرق بین این دو تا رو مشخص می‌کنند؟

+1 رأی
میانگین بازدید روزانه 0.16422 بازدید

سلام. ابتدا به کد زیر توجه کنید:


public class Test {
	private int number;

	public Test(int number) {
		super();
		this.number = number;
	}

}

سوال من این است که چرا دو تا متغیر هم نام تعریف می‌کنند و بعد میان با this فرق بین این دو تا رو مشخص می‌کنن. آیا برای استفاده کمتر، از حافظه است یا مسئله‌ی دیگری دارد. ممنون.

سوال 7 سال قبل در تالار برنامه نویسی توسط ssss (467 امتیاز)
ویرایش 7 سال قبل توسط Saeed Zarinfam

1 جواب

+1 رأی
 
بهترین جواب

سوالتون کاملا جالبه. این کار اختیاری است و برای خواناتر شدن کد این کار انجام می شود، در مثال شما می توانیم نام یکی از متغیر های number را چیز دیگری تعریف کنیم ولی آنگاه با یک نگاه متوجه نمی شدیم که پارامتر number در constructor کلاس Test قرار است مقدار فیلد number کلاس Test را پر کند.

جواب 7 سال قبل توسط Saeed Zarinfam (1,044 امتیاز)
انتخاب شده در 7 سال قبل توسط ssss

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.11350 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.23475 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.24592 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.872,262 بازدید
سوال 7 سال قبل در تالار برنامه نویسی توسط ssss (467 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.19443 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.28789 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.11371 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.07254 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.582,058 بازدید
کانال تلگرام جواب یاب
...