• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
方法的重载

1. 简介

方法的重载指方法的属性+类型+方法名称相同,参数不同的情况。

2. 重载类型

1.方法的参数个数不同

2.方法的参数位置不同

3.方法的参数类型不同

4.构造方法的重载:可以使用this(参数名称)对其他构造方法进行调用

3. 注意事项

1. 不能使用不同的参数名称进行方法的重载,例如max(int a, int b)与max(int x, int y)不是方法的重载。

2. 不能使用不同的返回值进行方法的重载,例如int max(int a, int b)与double max(int a, int b)不是方法的重载。

4. 示例说明

public class chongzai {
    private int m,n; 

    public chongzai() {
    }

    public chongzai(int m) {
        this.m = m;
    }   

    public chongzai(int m, int n) {
        this(m);                  //使用this关键字对其他构造方法进行调用 
        this.n=n;
    }

    public void sayhello(){
        System.out.println("Hello");
    }
    
    //该方法与第一个方法参数个数不同。参数个数相同,位置不同也算重载
    public void sayhello(String name){
        System.out.println("Hello ,"+name);
    }
    
    //该方法与第二个方法的参数类型不同
    public void sayhello(char name){
        System.out.println("Hello ,"+name);
    }
    
    //注意:不能使用参数名来区分方法
    //注意:不能使用方法的返回值来区分重载的方法,重载方法的返回值类型可以不同
    public int max(int x,int y){
        return x>y?x:y;    
    }
    
    public int max(int x,short y){
        System.out.println("ok");
        return x>y?x:y;
    }
    
    public double max(int x,byte y){
        return 0;
    }
    
    public double max(byte y,int x){
        return 0;
    }
    
    public static void main(String args[]){
        chongzai test=new chongzai();
        test.sayhello();
        test.sayhello("JFL");
        test.sayhello('A');        
        System.out.println(test.max(1,2));
        test.max(1,(short)2);
    }     
}

posted on 2015-07-23 15:44  火磷  阅读(596)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3