Nạp chồng khác kiểu tham số - khác size tham số
Java 2016
package Demo27;
class Test {
void sum(double a, double b) {
System.out.println(a+b);
}
void sum(int a, int b, int c) {
System.out.println(a+b+c);
}
public static void main(String args[]) {
Test obj = new Test();
obj.sum(20, 20);
obj.sum(20, 20, 20);
}
}
Output:40.0
60
Sơ đồ hoạt động của Nạp Chồng
Dành cho VD bên dưới
Dành cho VD bên dưới
Nạp chồng khác kiểu tham số - Cùng size tham số
Java 2016
package Demo27;
class Test {
void sum(int a, int b) {
System.out.println(a + b + " method 1");
}
void sum(double a, double b) {
System.out.println(a + b + " method 2");
}
public static void main(String args[]) {
Test obj = new Test();
obj.sum(20, 20);
}
}
Output: 40 method 1
Ưu tiên kiểu int hiển thị -> đã rõ sơ đồ
Java 2016
package Demo27;
class Test {
void sum(double a, double b) {
System.out.println(a + b + " method 1");
}
void sum(int a, int b) {
System.out.println(a + b + " method 2");
}
public static void main(String args[]) {
Test obj = new Test();
obj.sum(20, 20);
}
}
Note: như chúng ta đã biết trình biên dịch sẽ chạy từ trên xuống
dưới. Khi chạy đến method sum(double,double) nó hiển thị nhưng
khi chạy đến method sum(int,int) thì nó sẽ so sánh với
method trên vừa đi qua và ưu tiên hiển thị kiểu int.
Output: 40 method 2
-----Error-----
Java 2016
package Demo27;
class Test {
void sum(int a, double b) {
System.out.println(a + b + " method 1");
}
void sum(double a, int b) {
System.out.println(a + b + " method 2");
}
public static void main(String args[]) {
Test obj = new Test();
obj.sum(20, 20); //error!
}
}
Output: Lỗi error!
0 nhận xét:
Post a Comment