JavaRush /Java Blog /Random-JA /Pet cat = new Cat() - 「cat」変数はどのようなメソッドを使用できますか?
vtimk
レベル 17

Pet cat = new Cat() - 「cat」変数はどのようなメソッドを使用できますか?

Random-JA グループに公開済み
Java の皆さん、継承されたクラスのメソッドがオーバーライドされるコードがあるとします。cat class Pet { String name; String age; String getString() { return "Домашнее животное"; } } class Cat extends Pet { String getString() { return "Кот Рыжик"; } } public static void main(String[] args) { Pet cat = new Cat(); cat.getString(); } 変数に対してどのバージョンの getString() メソッドが呼び出されるのか教えてください。講義で読んだのですが、オブジェクトのメソッドは、オブジェクトの実際の型に関係なく、そのオブジェクトへの参照型として使用されたクラスに存在する場合にのみ呼び出すことができます。これは、この場合 Pet クラスのメソッドが呼び出されるということですか、それともメソッドをオーバーライドする場合にはオブジェクト クラスのメソッドが呼び出されるということでしょうか? ありがとう。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION