دوستان چرا این کد ساده خطا میده
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