は、私は次のようにコードの一部を書いた:Java親クラスのある関数()にある変数は、子クラスがどのように使用しますか?
class MyParent {
String a = "abcdefg";
String b;
public void print() {
b = "ABCDEFG";
System.out.println(a);
}
}
class MyChild extends MyParent {
String c = super.b;
public void print2() {
System.out.println(c);
}
}
public class Parent {
public static void main(String args[]) {
MyParent mp = new MyParent();
mp.print();
MyChild mc = new MyChild();
mc.print2();
}
}
2つのクラスがあり、それらは親&子です。 class MyParent
で宣言されたb
があり、関数print()
に値が与えられています。
b
を子クラスMyChild
に印刷します。しかし、コードを実行すると正しく印刷できますが、b
はnull
と表示されます。
私はJavaが初めてです。それについて私を助けてください。誰にでも
UPDATE
おかげで、私の質問に答えます。私は解決策を見つけた。
私は最も簡単な方法を使用しました。私はそれを**static String b**
に変更しました。
static私の議論はすべての周りで使用することができます。
しかし、データ宣言を使用する正確な方法はわかりません。だから私は学び続けるでしょう。
https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html、http://www.javaworld.com/article/2987426/core-java/java-101- java-part-1の継承。html –
あなたは全く別の2つのオブジェクトを作成しました。 'mp.b'は' 'ABCDFEF" 'になりますが、' mc.b'は決して他のものに設定しないので ''ヌルです。 –