Java 方法

什么是方法呢?

方法就是完成特定功能的代码块.

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其它地方被引用

方法的优点

  • 使程序变得更简短而清晰
  • 有利于程序维护
  • 可以提高程序开发的效率
  • 提高了代码的重用性

方法的定义

一般情况下,定义一个方法包含以下语法:

修饰符 静态/非静态 返回值类型 方法名(参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  • 静态/非静态: static关键字表示静态,出现static,这个方法就是静态方法,没有就是非静态.
  • 返回值类型:代码运行的结果的数据类型.
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。而形式参数是定义在方法上,用来接收数据的类型.
  • 方法体:方法体包含具体的语句,定义该方法的功能。
  • return: 关键字,表示结束方法,同时可以返回一个值
  • 返回值:就是方法运行的结果,有return带给调用者.

image

方法的实例

public static void main(String[] args) {
    //调用计算两个数乘积的方法
    int c = multipy(14, 15);
    System.out.println(c);
   }
//定义方法,计算两个数的乘积
public static int multipy(int a, int b){
    int count = a * b;
    return count;
}

方法的分类

根据方法是否带参、是否带返回值,可以将方法分为四类:

  • 无参无返回值方法
  • 无参带返回值方法
  • 带参无返回值方法
  • 带参带返回值方法
//无参无返回值的方法
public static void method1(){
    System.out.println("我就是自娱自乐");
}   
//有参无返回值的方法
public static void method2(int a){
    //计算a平方 
    System.out.println(a*a);
}   
//无参有返回值的方法
public static long method3(){
    //获取当前时间
    long time = System.currentTimeMillis();
    return time;
}
//有参有返回值
public static int method4(int a,int b){
    //返回a,b中数值较大的那个
    return a>b?a:b;
}

方法的调用

方法的调用可以分为以下几种:

  • 单独调用:方法独立于其它代码,独立执行功能.多用于检测维护型的方法
  • 输出调用:只做结果输出.
  • 赋值调用:有返回值结果,可以进一步操作返回值
public static void main(String[] args) {
    //赋值调用
    int c = multipy(14, 15);
    System.out.println(c);
    
    //输出调用
    print();
    
    //单独调用
    clear();
}
//定义方法,计算两个数的乘积
public static int multipy(int a, int b){
    int count = a * b;
    
    return count;
    
}

//打印语句功能
public static void print(){
    System.out.println("哇,有美女....");
}

//清理系统垃圾功能
public static void clear(){
    for (int i = 0; i < 1000; i++) {
        System.out.println("系统清理中....");
    }
}

实参与形参

实参全称"实际参数",用于调用时传递给方法的参数,即传递给被调用方法的值.
说明:预先创建并赋予确定值.
形参全称"形式参数",用于定义方法的时候使用的参数,目的用来接收调用该方法时传递的参数.
说明:只有在被调用时才会分配内存单元,在调用结束,即刻释放所分配的内存单元.因此,只在方法内才有效.

返回值

如上面的例子所示,方法是一个实现了条件输入和结果输出的过程,往往我们需要对方法的结果进行进一步的处理,这时候我们就需要方法返回值了。
注意:

  • 如果方法的返回类型为 void,则方法中不能使用 return 返回值
  • 方法的返回值最多只能有一个,不能返回多个值
  • 方法返回值的类型必须兼容,也就是说如果返回值类型为 int,则不能返回 String型值
  • 调用带返回值的方法时,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理

方法的重载(overloading)

一个类里面出现多个方法名相同,参数列表不同的多个方法,我们叫这种现象为方法重载
方法重载是为了提高方法名的使用率.

方法间相互调用的内存原理

当jvm执行某个方法时,会将这个方法放入到栈中执行,当这个方法中又调用了其它方式时,jvm就会将新的方法也放入栈中已有的方法的上面执行,当方法执行完毕后,方法就会被jvm从栈中移除,我们称之为出栈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容