私は本当に相続に関して基本的なことを誤解しています。 私は親クラスがあります。Javaの親子で期待通りに動作しません
public class Parent {
String s = "Parent";
Parent() {}
String getS() {
return this.s;
}
}
と子クラス:
public class Child extends Parent {
String s = "Child";
Child() { }
}
主のようです:
Parent parent = new Parent();
Child child = new Child();
Log.e(TAG, "parent:" + parent.getS());
Log.e(TAG, "child:" + child.getS());
私はparent.getS()
を返すように "親" とchild.getS()
を返すことを期待します」子 "が返されますが、どちらも"親 "です。方法の接頭辞は、このように呼び出されたときにメソッドのthis
を決定しませんか?
は、親クラスからあなたのgetS()
メソッドは子クラス に継承され、したがって、それは子オブジェクトのために利用可能である スティーブ・S.
ああであなたの子供-コンストラクタの最初の呼び出しとしてこのコンストラクタを呼び出すと...ありがとう。 –
詳細はこちら:http://stackoverflow.com/questions/772663/having-2-variables-with-the-same-name-in-a-class-that-extends-another-class-in-j – MordechayS