ورود

View Full Version : سوال ساده درباره داون کستینگ



shayanboy2
جمعه 19 آذر 1400, 18:17 عصر
دوستان چرا این کد ساده خطا میده

public class A {

public void m(){}

}

public class B extends A{

@Override
public void m()

{

}}



public class DowncastDemo

public static void main (String[] args){

A a = new A();
B b = (B) a;
b.m();

}



بنده این کد رو که اجرا میکنم خطا میگیرم... هر دو کلاس یک متد مشترک دارن و لی وقتی سوپر کلاس کست میشه به کلاس فرزندش دیگه نمیتونه متد خودش رو اجرا کنه.. دلیلش چیه ؟ اینا که هر دو متد مورد نظر رو دارن پس چرا بعد کست شدن دیگه نمیتونه متد خودش رو اجرا کنه؟

class A cannot be cast to class B (A and B are in unnamed module of loader 'app')
at DowncastDemo.main