【趣学程序】java中的方法

java中的方法

什么是方法(函数)

方法是一组为了实现特定功能的代码块的集合。

方法在语法上的功能主要有以下两个

  1. 结构化代码 将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强。
  2. 减少代码重复 一个固定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。

注意:

  1. 逻辑严谨 方法实现的一个完整的功能,所以在书写时要考虑到各种可能的情况,并对每种情况做出恰当的处理。
  2. 通用性强(可重复利用) 方法实现的是一种功能,在实际实现时,可以根据需要,使方法具备一定的通用性,除非必要,否则不要写专用的方法。在Java 语言中,恰当的使用方法,将使程序更加优雅,便于阅读和使用。

Java中方法的格式:

[修饰符] 返回值类型 方法名([参数类型 形式参数1,参数类型 形式参数2,……]){        执行语句;   [return 返回值;]//需要的话}
参数列表(参数的类型 ,参数的个数,参数的顺序)

方法里的属性

  1. 访问控制符:访问控制符限定方法的可见范围,或者说是方法被调用的范围。方法的访问控制符有四种,按可见范围从大到小依次是:public、protected,无访问控制符,private。其中无访问控制符不书写关键字即可。具体的范围在后续有详细介绍。
  2. 形式参数:在方法被调用时用于接收外界输入的数据。
  3. 实参:调用方法时实际传给方法的数据。
  4. 返回值:方法在执行完毕后返还给调用它的环境的数据。
  5. 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回类型 void。
  6. 方法签名:方法名和方法的参数列表(能区别方法);//最关键的
  7. java语言中调用方法:对象名.方法名(实参列表)。实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。
  8. return 语句终止方法的运行并指定要返回的数据。

方法特点

  1. 它可以实现独立的功能;
  2. 必须定义在类里面;
  3. 它只有被调用才会执行;
  4. 它可以被重复使用;
  5. 方法结束后方法里的对象失去引用;

如何定义一个功能,并通过方法体现出来

  • 明确该功能运算后的结果.明确返回值类型;
  • 明确在实现该功能过程中是否有未知内容参与运算,确定参数列表;
package reviewDemo;/** * player 的值分别是1,2,3或者其他值时,该方法返回“upuptop”,“趣学程序”,“pyfysf”,“爱生活爱程序”。 */
public class MethodDemo {    public static void main(String[] args) {        int player = 5;        System.out.println("返回的结果是:" + show(player));    }
    public static String show(int p) {        switch (p) {            case 1:                return "upuptop";            case 2:                return "趣学程序";            case 3:                return "pyfysf";            default:                return "爱生活爱程序";        }    }}

什么是方法的重载(Overload)?

概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数顺序不同即可。 存在的原因:屏蔽了一个对象的同一类方法由于参数不同所造成的差异。 特点:与返回值类型无关,只看参数列表。

以下是方法重载的示例:

public void a(int a){}public int a(){}public void a(int a,String s){}
public class Chongzai {    public static void main(String[] args) {        int ret = name(3, 4, 5);        System.out.println(ret);    }
    public static int name(int a, int b) {        int c = a + b;        return c;    }
    public static int name(int a, int b, int m)//这就叫做方法的重载,只要参数列表不一样。好处:用户使用时限制很小;    {        int c = a + b + m;        return c;    }
}

总结:方法重载,方法名相同,但是参数列表不一致!(和方法覆写不一样,方法覆写的方法名和参数列表都必须一样),注意方法重载和方法覆写的不同!

什么是方法的重写(Override)?

方法重写主要出现在 实现接口 或者 继承类 的时候。要求其方法名要与父级方法名称一致,方法参数类型一致,参数列表一致 具体知识,留到[类]章节介绍

可变参数

从java5开始出现了可变参数,这是对java方法及数组的拓展!方法中可以接受的参数不再是固定个数的,而是随着具体需求传递的多少来决定。

定义格式:

    返回值类型  方法名(参数类型 ... 形式参数){  }

特点:

  • 只能出现在参数列表的最后;
  • ... 位于变量类型和变量名之间,前后有无空格都可以;
  • 调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
public class KeBianCanShu {
    public static void main(String[] args) {        System.out.println(sum());//0        System.out.println(sum(1, 2, 3, 4, 5));//15        System.out.println(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));//55    }
    private static int sum(int... nums) {        int sum = 0;        for (int num : nums) {            sum += num;        }        return sum;    }
}

原文发布于微信公众号 - 趣学程序(quxuechengxu)

原文发表时间:2019-07-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券