0 امتیاز
قبل در برنامه نویسی توسط (7 امتیاز)
ویرایش شده قبل توسط

در آموزش «اشیا در جاوا» در آموزش‌های جاوا کاپ، در بخشی چنین مسئله‌ای مطرح شده: تاثیر عملگر مساوی بر یک ارجاع. من با توجه به این مبحث کد زیرا نوشته‌ام.

کلاس A

public class A {
	String a = "A";

	public void show() {
		System.out.println(a);
	}
}

کلاس B

public class B {
	String b = "B";

	public void show() {
		System.out.println(b);
	}
}

و کلاس اصلی

public class Main {

	public static void main(String[] args) {
		A a = new A();
		B b = new B();

		System.out.println(a.a);
		System.out.println(b.b);

		a = b; //Error
	}

}

همانطور که مشاهده می‌کنید در خط دوازدهم، بنده قصد دارم که ارجاعی که متغیر b نگه داری می‌کند را با عملگر مساوی به متغیر a نسبت دهم. اما با ارور مواجه می‌شود. لطف می‌کنید

اگر من را در این زمینه راهنمایی کنید. با سپاس :)

1 پاسخ

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

کلاس های A و B که شما تعریف کرده اید دو تایپ جدید هستند و متغیر a از جنس A و متغیر b از جنس B است و چون تایپ متغیر های a و b متفاوت است و طبق قاعده پلی مورفیسم در یک سلسله مراتب هم نیستند پس ارجاع های این دو متغیر غیر هم نوع نمی تواند به همدیگر اشاره کند.

سوالات مشابه

+2 امتیاز
2 پاسخ 3.6هزار بازدید
0 امتیاز
1 پاسخ 805 بازدید
+2 امتیاز
1 پاسخ 558 بازدید
0 امتیاز
2 پاسخ 1.1هزار بازدید
+1 امتیاز
3 پاسخ 2.4هزار بازدید
+1 امتیاز
1 پاسخ 4.1هزار بازدید
0 امتیاز
2 پاسخ 630 بازدید
...