abstract class A
{
abstract public A anyMethod();
}
class B extends A
{
@Override
public B anyMethod()
{
return (new B());
}
}
class C<V extends A>
{
V temp1,new_temp;
public void c_method()
{
temp1 = new_temp.anyMethod();
}
}
public class test
{
public static void main(String args[])
{
}
}
當我寫在類C <V extends A>和(anyMethod返回類A中的A)中,如何將由anyMethod返回的對象分配給引用V類型變量?
temp1 = (V) new_temp.anyMethod
編譯器顯示: 注:/home/workstation/Desktop/new/test.java使用未經檢查或不安全的操作。 注意:使用-Xlint重新編譯:取消選中以獲取詳細信息。 現在,我知道已經創建了一個類文件,但是如何刪除「未選中或不安全的操作」。有沒有「安全」的方式來實現上述?
這編譯就好了。根據定義,「B」的一個實例也是「A」的一個實例。你使用什麼編譯器/ IDE? – Mureinik
對不起!更正了這個問題。 – NewbieCoder
如果你想讓它工作,你必須將B中方法的返回類型更改爲B. –