方法重载和方法递归(JAVA老杜)

1、方法重载(overload)

    1.1、什么情况下考虑使用方法重载机制?
        当功能相似的时候,可以将方法名定义为一致的,
        这样可以使代码美观,方便编程。

        注意:如果功能不相似,最好要让方法名不一致。

    1.2、代码满足什么条件的时候构成了方法重载?
        条件1:在同一个类当中
        条件2:方法名相同
        条件3:形式参数列表不同(类型、个数、顺序)

        注意:
            方法重载和返回值类型无关,和修饰符列表无关。

    1.3、方法重载的优点?
        代码美观
        方便代码的编写

2、方法递归
    
    2.1、需要理解什么是方法递归?
        方法自身调用自身。
    
    2.2、使用递归的时候,必须添加结束条件,没有结束条件,会发生栈内存溢出错误。
        StackOverflowError
        原因:一直压栈,没有弹栈,栈内存不够用。
    
    2.3、会画出递归方法的内存结构图。
        递归的过程当中可以将图画出来。这样可以更好的帮助我们理解
    
    2.4、能够使用循环代替递归的尽量使用循环,循环的执行耗费内存少一些,
    递归耗费内存相对多一些,另外递归使用不当很容易内存溢出,JVM停止工作。
    当然,只有极少数情况下,只能用递归,其它代码解决不了问题。

    2.5、问:当递归有结束条件,并且结束条件合法的时候,就一定不会内存溢出吗?
            答: 也不一定。可能递归的太深了。
    
    2.6、关于递归方面
        在实际的开发中遇到递归导致的栈内存溢出错误是怎么办?
            第一步:先检查结束条件是否正确。
            第二步:如果正确,可以调整JVM的栈内存大小。(java -X)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

江淮-Z

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值