首页 > 编程语言 > 详细

Java学习笔记

时间:2018-08-30 12:47:27      阅读:149      评论:0      收藏:0      [点我收藏+]

方法重载

定义:在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

下面为例

 Java Code 
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
 
/**
 * 重载测试参数类型,顺序,个数不同
 * 
 * @author SHHHS
 */

public class TestOverload {
    
public static void main ( String[ ] args ) {
        Test m = 
new Test ( ) ;
        System.out.println( m.add ( 
4 , 5 ) ) ; 
        System.out.println( m.add ( 
4.22 , 5 ) ) ; 
        System.out.println( m.add ( 
4 , 5.23 ) ) ; 
        System.out.println( m.add ( 
4 , 5 , 6 ) ) ; 
    }
}
class Test {
    
public int add ( final int a , final int b ) {
        
return a + b ; 
    }
    
public int add ( final double a , final int b ) {
        
return (int)( a + b ) ; 
    }
    
public int add ( final int a , final double b ) {
        
return (int)( a + b ) ; 
    }
    
public int add ( final int a , final int b , final int c ) {
        
return a + b + c ; 
    }
}

由此可见,参数的顺序,类型,个数不同都可构成重载。

但是仅仅方法的返回值类型不同不构成重载,如下。

 Java Code 
1
2
3
4
5
6
7
 
//不构成方法重载
public int add ( final int a , final int b ) {
    
return a + b ;
}
public double add ( final int a , final int b ) {
    
return a + b ;
}

此外,构造方法也可以重载。

 Java Code 
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
 
/**
 * 测试构造函数重载
 * @author SHHHS
 *
 */

public class Student {
    
private String name , gender ; 
    
private int age ; 
    
public Student ( String name , int age , String gender) {
        
this.name = name ; 
        
this.age = age ; 
        
this.gender = gender ; 
    }
    
public Student ( String name , int age ) {
        
this.name = name ; 
        
this.age = age ; 
    }
    
public Student ( String name ) {
        
this.name = name ; 
    }
    
public static void main ( String [ ] args ) {
        Student s1 = 
new Student ( "Tom" ) ;
        Student s2 = 
new Student ( "Jerry" , 23 )  ;
        Student s3 = 
new Student ( "John" , 22 , "Male" ) ;
    }
}

 

 

(完)

 

Java学习笔记

原文:https://www.cnblogs.com/shadowland/p/9559475.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!