2016-03-31 20 views
1

次の宣言の違いは何ですか?彼らはいつ使われますか? Java:継承と宣言

ParentClass child = new ChildClass(); 
ChildClass child = new ChildClass(); 

...私はすでにこれを持っている場合:

class ChildClass extends ParentClass {} 
+1

最初のインスタンスは、子*および*親メソッド、変数などにアクセスできます。2番目のインスタンスはスタンドアロンインスタンスになり、独自のメソッド、変数などにアクセスできます。 –

答えて

1

あなたはParentClassで宣言されたメソッドfoo()ChildClassのメソッドbar()を持っていると言うことができます。 ChildClassParentClassまで拡張されているので、foo()メソッドも継承しています。

ParentClassにはbar()というメソッドがないため、最初のケースではchild.bar();を呼び出すことはできません。

変数、内部クラスなどにも同じことが適用されます。詳細についてはOracle documentationを参照してください。