方法重載只能在同一個類中進行嗎?或者它可以發生在子類中嗎?關於Java中的方法重載
-1
A
回答
1
子類中的重載沒有限制。例如,我可以有:
public class A {
public String test(String input) {
//do something
}
}
public class B extends A {
public String test(String input, String input2) {
//do something
}
}
B testInstance = new B();
testInstance.test("one", "two");
testInstance.test("one");
對於這樣的問題,您可以隨時嘗試自己並找出答案。
1
總而言之 - 是的。你可以在子類中重載方法。例如: -
public class Parent {
public void print(String s) {
System.out.println("That was a string: " + s);
}
}
public class Child {
public void print(int i) {
System.out.println("That was an int: " + i);
}
}
public class Main {
public static void main(String[] args) {
Child c = new Child();
c.print("hello"); // prints "That was a string: hello"
c.print(7); // prints "That was an int: 7"
}
}
0
當重載的方法,它基本上與創建與其他同名沒有直接關聯一個全新的方法,它是重要的簽名。 所以如果你在具有不同簽名的子類中創建一個方法,它將被編譯器視爲該類的不同和新方法,所以它不會將它與超類的方法關聯起來。
0
在子類中可以重載。如果使用不同參數的超類創建一個名稱相同的方法,那麼它將被視爲單獨的方法。 Sub類也會有超類的方法,所以根據參數類型在編譯時決定要調用的方法。在編譯時聲明哪個方法被稱爲靜態多態。這裏的例子 -
Class A{
void m1(int x){
System.out.println("m1 in A");
}
}
Class B extends A
{
void m1(String str)
{
System.out.println("m1 in B");
}
}
Public Class Test
{
public static void main(String[] aa)
{
B b = new B();
b.m1(10);
b.m1("Hello World!!")
}
}
希望這會有所幫助。
相關問題
- 1. 關於方法在Java重載
- 2. Java中方法的重載
- 3. 在Java中重載方法?
- 4. Java方法重載
- 5. Java,重載方法
- 6. 重寫重載的Java方法JRuby中
- 7. 方法重載在Java中:該方法不適用於參數
- 8. Java的重載方法
- 9. 的Java:重載方法
- 10. Java中重載和方法返回類型的關係?
- 11. Java接口中的重載方法
- 12. Java中的重載方法(EMACS)
- 13. 重載關聯方法
- 14. 關於java中的compareTo()方法
- 15. 關於Java中trim()方法的查詢
- 16. Java方法重載錯誤
- 17. 關於java方法調用
- 18. 可以基於java中的訪問重載方法嗎?
- 19. 重寫HashMap等於Java中的方法
- 20. 在Scala中重載使用重載vargs方法的Java接口
- 21. 重載方法調用Java中
- 22. 重載equals方法在Java中
- 23. 方法重載與泛型在Java中
- 24. 關於在java中覆蓋equals方法
- 25. 重載的方法在的ActiveSupport ::關注
- 26. Java方法重載+雙重調度
- 27. Java繼承(方法重寫和重載)
- 28. 使用Java中的可變長度方法重載方法
- 29. 關於方法超載的建議
- 30. 關於方法超載的澄清
當你嘗試時發生了什麼? –