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

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

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


public class Test {
	private int number;

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

}

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

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

1 جواب

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

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

جواب 6 سال قبل توسط Saeed Zarinfam (959 امتیاز)
انتخاب شده در 6 سال قبل توسط ssss

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

0 رأی
1 جواب میانگین بازدید روزانه 0.08238 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.23400 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.21437 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.952,161 بازدید
سوال 6 سال قبل در تالار برنامه نویسی توسط ssss (467 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.18365 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.23577 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.06175 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.06198 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.591,906 بازدید
کانال تلگرام جواب یاب
...