我知道如何重载方法以及如何重写方法。但是,是否有可能超载并在同一时间重写一个方法?如果是,请举个例子。在Java中重载和覆盖
6
A
回答
13
重载和覆盖是互补的东西,重载意味着相同的方法名称,但参数不同,覆盖意味着具有相同参数的子类中的相同方法名称。因此,重载和覆盖不可能同时发生,因为重载意味着不同的参数。
例子:
class A {
public void doSth() { /// }
}
class B extends A {
public void doSth() { /* method overriden */ }
public void doSth(String b) { /* method overloaded */ }
}
干杯!
5
重载和重载只是抽象。重载仅意味着编译器使用该名称与参数的类型和数量相结合来寻址要调用的函数。实际上,重载方法与为它命名不同,因为编译器用来查找函数的关键字是名称和参数列表的组合。
覆盖是一种相同的原则,除了编译器可以用super
关键字来解决覆盖函数。
那么你可以重写一个重载函数吗?是的,因为在编译器的眼中,重载方法是一种完全不同的方法。
1
这取决于你的意思。方法可以是超类中的重载方法的重写。你可以重载一个方法,你同时使用另一种方法重写。
但是,您不能有一种方法既是新的过载和覆盖。对于一个方法是一个覆盖,具有相同签名的另一个方法必须已经存在于超类中......并且这意味着此方法不能是覆盖的新方法。
相关问题
- 1. Java重载和覆盖
- 2. 在C++中同时覆盖和重载
- 3. 函数重载和覆盖
- 4. 为什么在java中需要重载和覆盖方法?
- 5. 覆盖或重载?
- 6. Java:覆盖或重载方法?
- 7. 覆盖在Java在Java中
- 8. 覆盖重载取精度
- 9. 通过覆盖重载
- 10. 覆盖在Java
- 11. 在java中创建覆盖
- 12. Java在Android中覆盖XML?
- 13. 如果我重载equals应该仍然覆盖java中的haschode?
- 14. 覆盖和超载透视
- 15. jQtouch和jquery加载覆盖
- 16. java,覆盖和等于
- 17. Java和win32游戏覆盖
- 18. 覆盖,超载和隐藏在OOP
- 19. Java FileWriter覆盖
- 20. 覆盖JFileChooser java
- 21. 的Java覆盖
- 22. Android/Java - 覆盖
- 23. JAVA - 覆盖
- 24. 我可以覆盖和重载vb.net中的相同功能吗?
- 25. Java子类加载器覆盖父类
- 26. 通用重载的Java擦除(不是覆盖)
- 27. 覆盖操作符重载方法
- 28. 接口方法的覆盖/重载
- 29. 方法覆盖和功能覆盖/超载有什么区别
- 30. 中心加载覆盖div
如果您愿意,您可以覆盖重载的方法。它尽可能地接近它。 – user845279
发生这种情况时,哪个负责该方法的绑定(静态或动态)呢?覆盖或重载? – zgulser