我觉得输出是直的2 child 2
,但它原来是child 1 2
???在java中继承变量和方法
由于家长指向孩子,应该使用孩子的变量和方法,但是在孩子的字符串后面打印1。为什么字符串在s.i之前打印?以及为什么它指的是我父母的副本?
这里是我的示例代码:
public class Abc
{
int i=1;
public int getStr()
{
system.out.print("parent");
return i;
}
public static void main(int[] a)
{
Abc s = new child();
system.out.print(s.i + " " + s.getStr());
}
}
class child
{
int i=2;
public int getStr()
{
system.out.print("child");
return i;
}
}
这看起来不像有效的java例如'psv main()'''''''''system.out.print()'。为我们提供可运行的代码。 – csmckelvey
你能提供一个可行的例子吗? –
这段代码不会编译... dopes'child' extends'Abc'? – ApproachingDarknessFish