【发布时间】:2016-10-28 09:24:00
【问题描述】:
我写了一段代码如下:
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();
}
}
有两个类,它们是父子类。
在 class MyParent 中声明了一个 b,并在函数 print() 中赋予了一个值。
我想在子类MyChild 中打印b。但是如果我运行代码,它可以正确打印,但b 显示null。
我是 Java 新手。请帮帮我。
更新
感谢大家回答我的问题。我找到了解决方案。
我用了最简单的方法。我把它改成了**static String b**。
static 让我的论点可以在各处使用。
但我不知道使用数据声明的确切方式。所以我会继续学习。
【问题讨论】:
-
您创建了两个完全独立的对象 -
mp.b将是"ABCDFEF",但mc.b是null,因为您从未将其设置为其他任何对象。
标签: java class inheritance parent-child