オブジェクトタイプ参照(別のインスタンスを保持する)を使用して関数を呼び出す:私は場合は、mainメソッドを持つ別のクラスのメインメソッドで今私は犬のクラスのように説明した
class Dog {
//data members
void bark() {
//Bark Algorithm
}
}
を次のようになります。
Object dog = new Dog();
dog.bark();
「犬」リファレンスが犬のインスタンスを保持しているため、動作しませんか?なぜこれは有効ではないのですか?
ここで使用される言語はJavaです。
ご協力ありがとうございます。
これは多形性への制限ですか? –
Java **の多形性**の制限です。 'dog'は' Object'として宣言されているので、 'bark()'メソッドはありません。それはJavaの型設計の問題です。 – m0skit0
ありがとうございました。私はこのコンセプトが今私にははっきりしていると思います。 Javaの**厳密に型付けされた**性質を正当化するには、この制限がその設計に含まれていなければなりません。 –