首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【趣学程序】java中的方法

【趣学程序】java中的方法

作者头像
趣学程序-shaofeer
发布2019-07-27 18:30:12
4710
发布2019-07-27 18:30:12
举报

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;    }
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 趣学程序 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • java中的方法
  • 什么是方法(函数)
  • Java中方法的格式:
  • 方法里的属性
  • 方法特点
  • 如何定义一个功能,并通过方法体现出来
  • 什么是方法的重载(Overload)?
  • 什么是方法的重写(Override)?
  • 可变参数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档