メソッドのオーバーロードとは何ですか?
メソッドのオーバーロードは、さまざまなデータ型を統一された方法で処理する手段です。
メソッドのオーバーロードを構成するにはどうすればよいですか?
メソッド名は同じですが、仮パラメータが異なります。仮パラメータの違いは、 1) 仮パラメータの数が異なる 2) 仮パラメータの順序が異なる
注意事項
1. 2 つの方法は異なりますが、その他はすべて同じです。 これはメソッドのオーバーロードにはなりません。 コンパイル中にエラーが報告されます:
サンプル コード (誤): Test.java
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class Test {
public static void main(String[] args) {
}
}
class A {
public void f() {
}
public int f() {
return 1;
}
}
|
ログイン後にコピー
エラー メッセージ:
1 2 3 4 5 6 | Test.java:12: error: method f() is already defined in class A
public int f() {
^
1 error
2. 构造方法和普通方法一样, 也可以方法重载。
|
ログイン後にコピー
サンプル コード (正): Test.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
public class Test {
public static void main(String[] args) {
A aa1 = new A();
A aa2 = new A(1);
aa1.f();
aa2.f(1);
}
}
class A {
public A() {
System.out.printf( "public A() {} 这个构造方法被调用了\n" );
}
public A(int i) {
System.out.printf( "public A(int i) {} 这个构造方法被调用了\n" );
}
public void f() {
System.out.printf( "public void f() {} 这个构造方法被调用了\n" );
}
public void f(int i) {
System.out.printf( "public void f(int i) {} 这个构造方法被调用了\n" );
}
}
|
ログイン後にコピー
Java メソッドのオーバーロードの例に関連するその他の記事については、 PHP 中国語 Web サイトをフォローしてください。