+1 امتیاز
قبل در برنامه نویسی توسط (467 امتیاز)
ویرایش شده قبل توسط

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


public class Test {
	private int number;

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

}

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

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

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

سوالات مشابه

0 امتیاز
1 پاسخ 443 بازدید
0 امتیاز
2 پاسخ 738 بازدید
+2 امتیاز
2 پاسخ 2.4هزار بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط ssss (467 امتیاز)
+1 امتیاز
1 پاسخ 885 بازدید
+1 امتیاز
1 پاسخ 455 بازدید
+1 امتیاز
1 پاسخ 286 بازدید
+2 امتیاز
2 پاسخ 2.2هزار بازدید
...