• Java方法重载


    1.定义:

    在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

    2.判断是否是重载:
                 跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!

                    "两同一不同":同一个类、相同方法名
                                 参数列表不同:参数个数不同,参数类型不同

    3、在通过对象调用方法时,如何确定某一个指定的方法:
                   方法名 ---> 参数列表

    4、我们调用方法时,我们输入几个参数,系统回去匹配相同参数个数,且顺序都一样的重载方法,如果参数列表相同,就可以调用该方法

    public void eat(int b,int a){
    方法体
    }

    public void eat(int a,int b){
    方法体
    }
    这两不是重载,因为都是int型参数,系统是分不出来到,同样,String、double、、、、、等,这些前面和后面的类型一样,都是分不出来的,都不属于重载

    1. package KindMethod4;
    2. public class Demo1 {
    3. public static void main(String[] args) {
    4. Test sc = new Test();
    5. // 看参数列表,两个参数,自动定位有两个参数的方法,且都是整数的
    6. sc.giveMe(5,6);
    7. // 一个参数
    8. sc.giveMe(9);
    9. // 不同类型参数
    10. sc.giveMe("八十",12);
    11. }
    12. }
    13. class Test{
    14. public void giveMe(int i,int j){
    15. System.out.println(i+j);
    16. }
    17. public void giveMe(int i){
    18. System.out.println(i);
    19. }
    20. public void giveMe(String size,int i){
    21. System.out.println(size);
    22. }
    23. // 以上都属于重载,在同一个类中、方法名相同,参数列表不同
    24. }

    一下方法构不成方法重载,都是整数,不管先后顺序怎样,结果都一样

    public int getSum(int i,int j){
            return 0;
        }

        public void getSum(int m,int n){        
        }
        
        private void getSum(int i,int j){
            
        }

    1.编写程序,定义三个重载方法并调用。方法名为mOL。
        三个方法分别接收一个int参数、两个int参数、一个字符串参数。
        分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。
        在主类的main ()方法中分别用参数区别调用三个方法。
        
        2.定义三个重载方法max(),
        第一个方法求两个int值中的最大值,
        第二个方法求两个double值中的最大值,
        第三个方法求三个double值中的最大值,
        并分别调用三个方法。

    1. public class OverloadExer {
    2. //1. 如下的三个方法构成重载
    3. public void mOL(int i){
    4. System.out.println(i * i);
    5. }
    6. public void mOL(int i,int j){
    7. System.out.println(i * j);
    8. }
    9. public void mOL(String s){
    10. System.out.println(s);
    11. }
    12. //2.如下的三个方法构成重载
    13. public int max(int i,int j){
    14. return (i > j)? i : j;
    15. }
    16. public double max(double d1,double d2){
    17. return (d1 > d2)? d1 : d2;
    18. }
    19. public double max(double d1,double d2,double d3){
    20. double max = (d1 > d2)? d1 : d2;
    21. return (max > d3)? max : d3;
    22. }
    23. }

  • 相关阅读:
    【Python基础之函数:异常相关和生成器对象、yield用法、生成器表达式】
    力扣刷题-移除指定值的链表元素
    MATLAB 矩阵处理及多项式计算
    mybatis 拦截器
    细粒度图像分类论文研读—2012
    118、不要“教”用户做事,应该让他秒懂秒会
    面试算法14:字符串中的变位词
    Audition RMS计算原理解析
    linux 内核模块重定位过程 简单的示例解析
    echarts仪表盘属性,干货满满
  • 原文地址:https://blog.csdn.net/fool_Java/article/details/126108325