Я мало знаю о DownCasting и Upcasting, но то, что меня смущает, ниже кода.Downcasting в Java с новым экземпляром экземпляра возвращаемого типа
Допустим, у меня есть класс Родитель и ребенок расширяет этот класс
public class Parent {
public Parent methodA()
{
System.out.println("Parent");
return this;
}
}
public class Child extends Parent{
public void methodB()
{
System.out.println("In Child");
}
}
public static void main(String[] args) {
Parent p = new Child();
Child c=(Child) p.methodA();
}
Моя путаница в родительском классе Methoda, если я вернусь новый экземпляр Родитель затем код броски во время выполнения исключение, но если я вернуться в тот же экземпляр, то почему я не получаю ошибку.
public Parent methodA()
{
System.out.println("Parent");
return new Parent(); // in this case downcasting throws error
}
Спасибо за ваше решение он прочистил концепцию –