Java在接口實例化類對象后可以調用這個類自身的成員方法嗎?


比如說:
interface Inter
{
public void function();
}
class Main implements Inter
{
Main(){}
private int n;
public void function()
{
}
public int add(int a,int b)
{
return a+b;
}
public static void main(String[] args)
{
Inter p=new Main();
//這里是可以使用p.function()的,但是可不可以使用p.add()呢??
}
}

1. 不可以使用p.add()

原因:Inter p=new Main();在這里Java虛擬機會把它當成一個Inter對象,而Inter接口中並沒有定義add方法。

要想調用,只有把這個對象強制轉換為Main對象,

Main m = (Main)p;

m.add(3,4);

2. 不行,Inter只有function函數,通過多態,它不能調用add。如果要調用,就要把add加到Inter


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM