1
キャストワード "(SuperClass)"を使用する主な方法は次のとおりですか? これはオブジェクトタイプを変更しますか?キャスティングとその結果[Java]
class SuperClass{
public void method(){
System.out.print("SuperClass");
}
}
class Sub extends SuperClass{
public void method(){
System.out.print("SubClass");
}
}
public class SubSub extends Sub{
public static void main(String args[]){
((SuperClass)new SubSub()).method();
}
public void method(){
System.out.print("SubsubClass");
}
}
"指定されたオブジェクト(' new SubSub() ')を、この式の指定された型(' SuperClass')のインスタンスと見なします。この場合、プログラムの結果には影響しません。 – khelwood
あなたの質問に対する包括的な回答は既にあります(https://stackoverflow.com/questions/5289393/casting-variables-in-java)。 – avix