• 方法的重复定义和重载


    总结:1.方法的重复定义:多个方法的名称一样而且参数列表的(参数类型,参数数量,参数顺序)一样,是一种错误的方法定义方式;
    2.方法重载:1.多个方法的名称一样但是,参数列表的(参数类型,参数数量,参数顺序)不一样,可以根绝main方法调用时传的参数形式来决定调用那个方法
    例如:public stataic void main (String[] agrs){ ck(int a,doubel b);ck(double,b,int a,int c)} 这是main方法的调用,名字一样但参数不一样
    public static double ck (int q,double p){return q+p};public static double ck(double w,int e,int r){return w+e+r};通过不同的参数进行区分ck(0方法
    (int a,int b)和(int q,int w)这两个一个样;方法的重载只和参数的类型,个数,顺序有关和变量的名字无关;
    2.public static void main(String[] agrs){ int b=1;get(b);System.out.println(b) 这里的输出结果是b=1}
    public static void get(int a){ a=2;}因为get(b=1)所以get(int a=b=1)这里是给a赋值1;但是{a=2}所以最终的结果是a=2;因为这里没有返回值return所以对main的b没有 影响,就算有返回值,基本数据类型和String类型的数值;形参对实参没有影响;所以b=1;
    3.public static void main(String[] agrs){int arr={1,2,3},get(a);System.out.println(a[0]);}这里的a[0]是20;
    public static void get(int[] arr){arr[0]=20;}因为数组和引用数据类型但String除外;形参对实参有影响;因为引用数据和数组会存入到堆中;这里get(a)是给arr赋值
    的是数组的地址;然后通过下标找到相应的数组给赋值;赋值结束后弹栈;但是修改后的引用数据和数组会在堆里开辟的内存中存储着;所以就算没有返回值return;只要main方 法或者其他的方法再调用数据;只会从堆里内存中已改变的数组值取值;所以会对main的实参有影响;对其他引用数组的方法有影响;
    4.当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响
    当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响
    5.public static void main(String[] agrs){定义数组 String[] arr=null;sava(arr);show(arr);sj(arr);}这里数组不可直接定义,因为数组一旦定义,长度就不能改变了
    public static void sava(Sting[] a){ a=new String[]{"","",""};通过参数名=newString[]{}的方法来给数组赋值,这里赋值后不需要返回值也能在main和其它方法中直 接调用。
    public static void show (String[] a){for(int i=0;i<a.length;i++){System.out.println(arr[i])}}着这里直接拿main数组遍历就可以了,因为sava()已经赋值了
    public static void sj(String[] a){ Rander r =New Random;int num=r.nextInt(6);System.out.println(arr[num])};这里随机到的数值放到arr[r]就可以通过下标取值
    6.参数是拿进方法里面调用的,主要通过main进行取值;返回值return主要是向外输出值让别人用的,主要调用者是main也可以是其他方法,但是引用数据类型和数据但是String除外;
    不需要返回值也能给main和其它方法用.可以通过方法的重载实现一个方法名实现多种功能。







  • 相关阅读:
    20155227 《Java程序设计》实验四 Android开发基础设计实验报告
    20155227第十二周课堂实践
    2016-2017-2 20155227实验三《敏捷开发与XP实践》实验报告
    20155227 2016-2017-2 《Java程序设计》第十周学习总结
    2016-2017-2 20155227实验二《Java面向对象程序设计》实验报告
    20155226 实验三 敏捷开发与XP实践 实验报告
    20155226 mini DC 课堂测试补交
    20155226 2016-2017-2 《Java程序设计》第10周学习总结
    2015526 《Java程序设计》实验二实验报告
    20155226 2016-2017-2 《Java程序设计》第9周学习总结
  • 原文地址:https://www.cnblogs.com/hankai2735/p/11251576.html
Copyright © 2020-2023  润新知