Java的方法重载和方法的调用

本文介绍了Java中的方法重载,强调了方法重载只与参数类型和个数有关,与返回值无关。同时详细阐述了方法的调用方式,包括在本类和不同类中静态和非静态方法的调用规则,提供了调用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法重载 · 同一个类中两个或以上的方法可以有同一个名字,只要参数声明不同即可

  1. 方法的参数类型相同,个数不同;
  2. 方法的参数个数相同,类型不同;
  3. 重载只跟方法的参数类型和个数相关,跟返回值无关;
public int cdd(int x, int y){
    return x+y;
    }

public int cdd(int x, int y ,int z){
    return x+y+z;
    }
    //要么类型不同,要么个数不一样多,否则构不成重载

方法的调用

  • 调用非静态方法:通过对象调用
  • 调用静态的方法:通过类名调用
  • 本类中
    • 静态直接调用静态
    • 静态调用非静态
    • 非静态调用静态
    • 非静态调用非静态
  • 不同类中
    • 静态调用静态
    • 静态调用非静态
    • 非静态调用静态
    • 非静态调用非静态

本类中

  • 静态调用静态:直接调用
public static void main(String[] args){
        t2();       //直接调用
    }
public static void t2(){
    ......
    }
  • 静态调用非静态:通过静态的对象去调用
public class A{

    public static void main(String[] args){
    }
    public void noStatic(){            //非静态方法
    ......
    }
    public static void yesStatic(){    //静态方法
     A yes = new A();              //在静态里创建一个对象
     yes.noStatic();               //通过静态的对象调用非静态
     }
}
  • 非静态调用静态:直接调用
public class AD{
    public static void main(String[] args){
}
    public void nono(){      //非静态方法
        yesyes();            //直接调用
}
public static void yesyes(){    //静态方法
    ......
}
}
  • 非静态调用静态:直接调用
public class AA{
    public static void main(String[] args){
    }
    public void yes1(){
        yes2();
    }
    public void yes2(){
            ......
    }
}

不同类中

  • 静态调用静态:通过 类名.静态方法()调用
public class AA{
    public static void main(String[] args){
    }
    public static void one(){
    AA.two();            //类名.静态方法();
    }
    public static void two(){
    ......
    }
}
  • 静态调用非静态:先导入该类中的包,后创建对象调用
public class AA{        //AA类
    public static void main(String[] args){
    }
    public staic void yesStatic(){       //在静态方法中创建对象
     BB b = new BB(); //非静态所在类类名 对象 = new 非静态所在类类名();
     b.noStatic();
    }
}

public class BB{        //BB类
    public void noStatic(){
        ......
    }
}
  • 非静态调用静态:先导入该包,通过类名调用
public class AA{        //AA类
    public static void main(String[] args){
    }
    public void yesStatic(){       //在非静态方法中创建对象
         BB.yesStatic();
    }
}

public class BB{        //BB类
    public static void yesStatic(){
        ......
    }
}
  • 非静态调用非静态:先导入该包,通过对象调用
public class AA{        //AA类
    public static void main(String[] args){
    }
    public void yesStatic(){       //在非静态方法中创建对象
     BB b = new BB(); //非静态所在类类名 对象 = new 非静态所在类类名();
     b.yesStatic();   //通过对象调用
    }
}

public class BB{        //BB类
    public void yesStatic(){
        ......
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TCP404

老板大方~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值