1
Object aThing = new Integer(25);
aThing.toString();

toStringのかのObjectか? (だと思います。)toStringIntegerInteger

4

5 に答える 5

3

IntegerクラスtoString()が呼び出されます。メソッドの呼び出しは、参照型ではなくオブジェクト型に基づいて常に決定されます。

Steve Kuoがコメントしたように:静的メソッドを除く。

于 2012-10-15T20:08:34.510 に答える
1

Integer's toStringと呼ばれます。どのメソッド実装が呼び出されるかは、オブジェクトが割り当てられている変数のタイプではなく、オブジェクト自体のランタイムタイプ(クラス)によって常に決定されます。次のコードでは、両方の呼び出しは同等です。

Integer i = Integer.valueOf(5);
Object o = i;

i.toString(); // "5"
o.toString(); // "5"

このように動作するメソッドは、仮想メソッドと呼ばれます。Javaの非静的メソッドはすべて仮想です。それらは、ポリモーフィズムの重要なメカニズムの1つを提供します。

于 2012-10-15T20:13:47.110 に答える
1

サブクラスのものは呼び出されるので、Integer.

于 2012-10-15T20:08:09.913 に答える
1

toString()は、Integerと呼ばれるものです。独自のオブジェクトを使用して簡単に証明できます。

于 2012-10-15T20:08:25.500 に答える
1

toString()インスタンス化されたクラスの型であるため、整数クラスの が実行されます。

于 2012-10-15T20:08:59.540 に答える