Storing a superclass object in a subclass object.
I should check if the instance can be assigned using instance of, but I thought that I should understand without checking, so I decided to write my own interpretation as a memorandum.
When I actually make the code ...
public class Human {
public void speak (){
System.out.println("a-I-U-E-O");
}
}
public class Men extends Human {
public void speak (){
System.out.println("Kakikukeko");
}
}
public class Main {
public static void main void (String [] args){
Human h = new Human();
Men M = (Men) h;
}
}
In this case, Human does not know the contents of Men and cannot downcast.
However, in the following cases (edit Main class)
public class Main {
public static void main void (String [] args){
Human h = new Men();
Man m = (Man) h;
}
}
Men know what Human is, so they can downcast.