class Test{
 public static void main(){
  Sub subchan = new Sub()
  Main mainchan = (Main)subchan
  mainchan.disp()
 }
}

class Main{
 static void disp(){
  System.out.println("MAIN")
 }
}

class Sub{
 static void disp(){
  System.out.println("SUB")
 }
}


これの出力結果が"MAIN"じゃなくて"SUB"になるのはなぜなのぜ?