(面试问题) 你能给我一个在类中实现的接口的例子,你可以在其中调用它的隐式方法,但不是明确的方法吗?可以调用接口隐式方法,但不能调用显式方法吗? (面试任务!)
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