以下類是正確的方式。周圍有4顆星的代碼是下一個(不正確)課程中將會發生的變化。爲什麼我必須使用Object類作爲參考類型才能使此程序起作用?
public class Hello
{
public void go()
{
Hello aDog = new Hello();
**Object** sameDog = getObject(aDog);
System.out.println(aDog);
System.out.println(sameDog);
}
public Object getObject(Object o)
{
return o;
}
}
這是隔壁班
public class Hello
{
public void go()
{
Hello aDog = new Hello();
**Hello** sameDog = getObject(aDog);
System.out.println(aDog);
System.out.println(sameDog);
}
public Object getObject(Object o)
{
return o;
}
}
最後,我有我的測試類。
public class HelloTester {
public static void main(String[] args) {
Hello a = new Hello();
a.go();
}
}
下面的輸出是從正確類:
[email protected]
[email protected]
的不正確代碼不起作用(顯然)。
這是爲什麼?
因爲你的方法返回一個'Object'。 –
@OliverCharlesworth但是,Hello類是否繼承了Object中的所有內容? –
是的,但這並不意味着你可以做'Object a = new Object();你好b = a;'。 –