# 227讲方法重载(OverLoad)、可变参数、作用域
内容纲要

227讲方法重载(OverLoad)、可变参数、作用域

file

file

public class Test01{
    public static void main(String[] args){
        calculate(2,6);
        System.out.println(calculate(2,6));
        System.out.println(calculate(2,60.0));
        calculate(2.0,1.0);
    }
    public static int calculate(int n1, int n2){
        int sum = n1 + n2;
        return sum;
    }
    public static double calculate(double n1,int n2){
        double sum = n1 + n2;
        return sum;
    }
    public static double calculate(double n1,double n2){
        double sum = n1 + n2;
        return sum;
    }
    public static double calculate(int n1,double n2){
        double sum = n1 + n2;
        return sum;
    }
}

file

file

file

上面这个例子没有构成方法重载,会报错,这个是方法的重复定义。

file

  • 练习题

file

public class OverLoadExercise{
    public static void main(String[] args){
        Exercise e = new Exercise();
        System.out.println(e.m(5));//25
        System.out.println(e.m(2,10));//20
        System.out.println(e.m("HandSome"));//HandSome
    }
}
class Exercise{
    public int m(int i){
        int res = i*i;
        return res;
    }
    public int m(int i,int j){
        int res = i*j;
        return res;
    }
    public String m(String s){
        return s;
    }
}
public class Test01{
        public static void main(String[] args){
            Exercise exercise = new Exercise();
            System.out.println(exercise.max(1,5));
            System.out.println(exercise.max(1.0,3.0));
            System.out.println(exercise.max(6.0,9.0,8.8));
        }
    }
    class Exercise{
        public int max(int i,int j){
            return i > j?i:j;
        }
        public double max(double i,double j){
            return i > j?i:j;
        }
        public double max(double i,double j,double m){
            double max1;
            max1 = j > i ? j : i;
            return max1 > m ? max1 : m;
        }
    }

可变参数

file

  • 可变参数可以当作数组使用。可以通过遍历求和。!!!!

file

file

对了可变参数不能是多个数组!!!!

file

注意可变参数可以和普通类型的形参放一起,但是可变参数一定要放最后!

file

  • 练习

file

public class Test01{
        public static void main(String[] args){
            HspMethod student = new HspMethod();
            System.out.println(student.showScore("李二",80,40));
            System.out.println(student.showScore("张三",10,30,60));
            System.out.println(student.showScore("王五",1,2,3,4,5));
        }
    }
    class HspMethod{
        public String showScore(String name, double... score){
            double totalScore = 0;
            for(int i = 0;i < score.length;i++){
                totalScore += score[i];
            }
            String str = name + totalScore;
            return str;
        }
    }

file

作用域

file

  • 除了属性之外的其它变量时局部变量

file

1.属性和局部变量可以重名,访问时遵循就近原则。

file

2.同一个作用域中不能重名。

file

3.属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量,声明周期较短,伴随着它的代码块执行而创建,伴随着代码块的结束而销毁。即在一次方法调用过程中。

file

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇