(面試問題) 你能給我一個在類中實現的接口的例子,你可以在其中調用它的隱式方法,但不是明確的方法嗎?可以調用接口隱式方法,但不能調用顯式方法嗎? (面試任務!)
0
A
回答
0
實施例:
組件1:
internal interface IFlyable
{
void Fly();
}
public class Bird: IFlyable
{
public void Fly() { ... }
void IFlyable.Fly() { ... }
}
組件2:
Bird bird = new Bird();
bird.Fly();
((IFlyable)bird).Fly() // Error, IFlyable is internal
這是一個面試問題。聰明的一個,如果你考慮一下。
2
interface IA
{
void Method1();
void Method2();
void Method3();
}
class A : IA
{
// Implicit implementation
public void Method1()
{
}
// Explicit implementation
void IA.Method2()
{
}
// Implicit + explicit implementation!
public void Method3()
{
}
void IA.Method3()
{
}
}
class TestImplicitExplicit
{
public void Test()
{
A a = new A();
a.Method1(); // ok
//a.Method2(); // does not compile
a.Method3(); // ok
IA ia = a;
ia.Method1(); // ok
ia.Method2(); // ok
ia.Method3(); // ok (calls another method than a.Method3(); !)
}
}
顯式實現只能通過接口看到。
相關問題
- 1. 什麼是隱式方法調用和顯式方法調用?
- 2. 不可能以編程方式調用委託方法?
- 3. 在方法調用的方法中找不到隱式值
- 4. 如何調用基類的顯式實現接口方法
- 5. 嘗試在統一中調用方法。不能調用方法
- 6. 從類方法調用實例方法:可能或不可以?
- 7. NPE:嘗試調用接口方法
- 8. 嘗試調用接口方法的Android
- 9. 未調用接口回調方法?
- 10. 我可以從wsdl調用方法嗎?
- 11. 在F#中調用一個基類顯式接口方法
- 12. 如何從PowerShell調用顯式實現的接口方法?
- 13. JSON可以調用.aspx文件中的方法,但不能在.asmx(ASP.NET Web服務)文件中調用方法
- 14. 爲什麼我可以通過Object#send來調用私有方法,但不能直接調用上述方法?
- 15. @compatibility_alias可以調用實例方法嗎?
- 16. 調用方法的格式
- 17. 如何從類調用方法但是從任何接口實現此方法?
- 18. 顯式調用@PostConstruct註解的方法
- 19. 使用py.test以某種方式調試python調試器嗎?
- 20. 任何可以在PHPStorm調試功能中啓用https連接的方法?
- 21. 爲什麼可以調用Java的接口方法的方法? [可比]
- 22. 方法調用模式
- 23. Java方法調用格式
- 24. 如何直接調用接口方法?
- 25. 在其他服務方法中調用服務方法可以嗎? (WCF)
- 26. 不調用頁面方法
- 27. 在通用的方式調用方法
- 28. SoapUI Api - 以編程方式調用項目服務方法?
- 29. 有可能在某處調用自調用函數方法嗎?
- 30. Eclipse調試方法調用
你的意思是你不能調用顯式重寫接口方法的類嗎? – rerun 2012-01-12 16:08:16
你是什麼意思的類中的隱式和顯式方法實現了接口?你的意思是訪問修飾符像公共和私人? – Mharlin 2012-01-12 16:09:19
@rerun正確。 – Idrees 2012-01-12 16:25:42