0
点赞
收藏
分享

微信扫一扫

方法重载overload

自信的姐姐 2022-02-12 阅读 89

方法重载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)

3、我们要一味地将变量和代码缩减吗?

    public class Test{
        public static void main(String[] args){
            /*
            int i = 100;
            System.out.println(i);
            */

            System.out.println(100);

            boolean flag = test();
            if(flag){
                ...
            }

            // 缩减之后的
            if(test()){
                ....
            }
        }

        public static boolean test(){
            return true;
        }
    }

   过度缩减变量数量会有什么后果呢?
        后果1:代码的可读性差。
        后果2:可读性差也可以会牵连到代码的开发效率。

         注意:在编码过程中,有一些变量名是必须要定义的。
        因为在后面代码中还需要访问这个数据。重复的访问这个数据。

举报

相关推荐

0 条评论