关于方法重载&&递归&&代码的封装

第九天笔记

1、方法重载

    1.1如下方代码:(以各种类型的两数相加为列子)
        未进行方法重载:
            public class FangF{
                public static void main(String[] args){
                    System.out.println(sumInt(10,20));
                    System.out.println(sumLong(10L,20L));
                    System.out.println(sumDouble(10.0,20.3));
                }
                //以int类型的相加
                public static int sumInt(int a,int b){
                    int sum;
                    sum=a+b;
                    return sum;
                }
                //以long类型的相加
                public static long sumLong(long a,long b){
                    long sum;
                    sum=a+b;
                    return sum;
                }
                //以double类型的相加
                public static double sumDouble(double a,double b){
                    double sum;
                    sum=a+b;
                    return sum;
                }    
            }
        
        进行方法重载:
        public class FangF{
            public static void main(String[] args){
                System.out.println(sum(10,20));
                System.out.println(sum(10L,20L));
                System.out.println(sum(10.0,20.3));
            }
            //以int类型的相加
            public static int sum(int a,int b){
                int sum;
                sum=a+b;
                return sum;
            }
            //以long类型的相加
            public static long sum(long a,long b){
                long sum;
                sum=a+b;
                return sum;
            }
            //以double类型的相加
            public static double sum(double a,double b){
                double sum;
                sum=a+b;
                return sum;
            }
    }
    仔细看看,然后比较两个代码的不同。。。
    
    
    1.2、什么时候使用方法重载?
            在同一个类里面,如果“功能一”和“功能二”它们的功能是相似的,
            那么可以考虑它们的方法名一致,这样代码既美观又便于后期的代码编写(容易记忆,方便使用)
    
        注意:方法重载overload不能随便使用,如果两个功能压根不相干,不相似
            根本没关系,此时如果使用重载机制,会导致编码更麻烦。
    

    1.3、什么时候代码会发生方法重载?
            条件一:在同一个类中
            条件二:方法名相同
            条件三:参数列表不同
                        参数的个数不同算不同
                        参数的类型不同算不同
                        参数的顺序不同算不同
    1.4、方法重载与返回值类型无关与修饰符列表无关

2、代码的简易封装
    第一步:创建一个文件夹,写一个java代码文件
    第二步:编译成功生成class字节码文件
    第三步:把class字节码文件拷贝至想要使用该方法的文件夹

    建议:周一时自己写一个类,利用方法重载和封装使得输出不用再写(System.out.println())那么长

        建议观看java老杜的视频使用,链接如下:

                https://www.bilibili.com/video/BV1mE411x7Wt?p=203

3、方法递归
    3.1、什么是方法递归?
        方法自己调用自己,就是递归

    3.2、当递归没有结束条件时,一定会发生栈内存溢出错误
        所以必须要有结束条件

    3.3、如果有结束条件也可能会发生栈内存溢出错误,
        原因:递归太深
    
    建议:尽量少使用递归,因为会进行压栈造成空间大量浪费,能用循环解决的问题为什么要用递归呢?
        可以联系一下数据结构:空间复杂度。(在实际开发中几乎没有递归)
        循环效率高,栈内存小,而递归可能会使JVM挂掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值