我覺得輸出是直的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