从零开始复习Java-方法

Java方法详解

今日杂谈

刚开始接触Java的时候,感觉方法就是c里的函数,后来发现它们虽然相似但又不尽相同。

首先对于Java方法来说,它有四种访问权限,包括static private default protected;其中的static方法和C函数是更加相似的,包括名称、返回值类型、参数列表以及函数体,同时都是静态的。

其次,Java的方法可以进行重载,C是不支持的。

再者,Java方法是属于类或者对象的,C函数我讲不出来它属于什么。

写这一段的时候不由得想到了微服务分布式开发,把一个系统进行原子级拆分,一个微服务实现一个功能,其实这些思想是共通的,编程中最重要的还是思路和想法。方法在程序中被创建,在其他地方被引用,这种低耦合的思想再扩大一点就是代码功能的解耦,再扩大一点就是微服务框架的起源了。

方法的定义

前面提到Java方法类似于其他语言的函数,是一段用来完成特定功能的代码片段

Java方法是语句的集合,是一种功能块;一个集合执行一个功能,所以我们在设计方法的时候,最好保持方法的原子性,即一个方法完成一个功能,这样有利于后期拓展

一般来说,方法包含一个方法头和一个方法体。

20200617192957.png

方法头

  • 修饰符:可选,定义方法的访问类型;如public,private之类

  • 返回值:returnValueType是方法返回值的数据类型。没有返回值就写void

  • 方法名:方法的实际名称

  • 参数类型:方法被调用,把值传递给参数。这个值被称为实参或者变量。

    参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

  • 形参&实参:形参是方法调用时用于接收外界输入的数据的参数,用来定义作用。

    ​ 实参是方法调用时实际传进来的数据

方法体

内含具体的语句,用来写功能。诸如登录时的密码验证,把查询的数据送到前端之类的。

方法的调用

调用方法时,要写出对象名和方法名。

一点小特征:如果一个方法的返回值是void,调用起来一定是一条语句,例如这个System.out.println方法,是一个完整的语句。

System.out.println("Hello World");

​ 如果方法返回有值的时候,方法调用通常被直接当做一个值,max方法是java中用于比较数字大小并返回较大者的一个方法,此处用于赋值给max变量。

int max = max(10,20)

拓展:值传递 & 引用传递

方法被调用的时候,实参把自己复制一份给形参再传入方法内部,此时形参接收到的内容只是一个副本,所以在方法内对该数值进行操作,都是只对这个副本进行操作,不会影响到原始值的内容。

Java不存在引用传递。记住就好,具体原理涉及到JVM底层,以后我再详细写写这一块。

方法的重载

方法命名相同,但形参不同,这就是重载的基本定义。如下,在这同一个类中用了两个命名一样的方法,但参数类型不同。

规则:

  1. 方法名称必须相同
  2. 参数列表必须不同(参数个数,参数类型不同,排列不同)

如下例子,两个max函数姓名一样,

public static double max (double a,double b){
    double result = 0;
    //(比大小)
    return result
}

public static int max (int a,int b){
    int result = 0;
    //(比大小)
    return result
}

你可能感兴趣的:(从零开始复习Java-方法)