📅  最后修改于: 2020-03-30 04:03:28             🧑  作者: Mango
方法是执行某些特定任务并将结果返回给调用方的语句的集合。方法可以执行某些特定任务,而无需返回任何内容。方法使我们可以重用代码而无需重新键入代码。在Java中,每个方法都必须属于某个类的一部分,该类不同于C/C++和Python之类的语言。
方法是节省时间的,可帮助我们重用代码而无需重新键入代码。
方法声明
通常,方法声明包含六个部分:
方法签名:它由方法名称和参数列表(参数数量,参数类型和参数顺序)组成。返回类型和异常不视为其中的一部分。
以上功能的方法签名:
max(int x,int y)
如何命名方法?:方法名称通常是一个单词,应该是小写的动词或过歌词,以小写的动词开头,后跟形容词,名词……。第一个单词之后,每个单词的第一个字母应大写。例如,findSum,computeMax,setX和getX
通常,方法在定义它的类中具有唯一的名称,但是有时某个方法可能与同一类中其他方法的名称相同,因为Java中允许方法重载。
调用方法
需要使用该方法的功能来调用该方法。调用方法可能有三种情况:在以下情况下,
方法返回到调用它的代码:
// Program to illustrate methodsin Java
import java.io.*;
class Addition {
int sum = 0;
public int addTwoInt(int a, int b){
// 两数相加.
sum = a + b;
//返回两数之和.
return sum;
}
}
class GFG {
public static void main (String[] args) {
// 创建一个Addition的对象
Addition add = new Addition();
// 调用addTwoInt()求两数的和
int s = add.addTwoInt(1,2);
System.out.println("两数之和 :"+ s);
}
}
输出:
两数之和 :3
请参见以下示例,以详细了解方法调用:
// Java展示调用方法的不同方法
import java.io.*;
class Test
{
public static int i = 0;
// 构造函数,会计算类的对象数量
Test()
{
i++;
}
// static方法被用来访问static的类成员
// 获取被创建的对象的数量
public static int get()
{
// 待执行code....
return i;
}
// 对象方法直接调用在其他类“GFG"内,被创建的对象
public int m1()
{
System.out.println("m1来自GFG类");
// 调用m2()方法.
this.m2();
return 1;
}
// 返回的类型是void,所以不返回任何东西
public void m2()
{
System.out.println("m2来自于m1");
}
}
class GFG
{
public static void main(String[] args)
{
// 创建类的对象
Test obj = new Test();
// 调用m1().
int i = obj.m1();
System.out.println("m1 :" + i);
// 调用 m2()方法
// obj.m2();
int no_of_objects = Test.get();
System.out.print("被创建的对象的数量 : ");
System.out.println(no_of_objects);
}
}
输出:
m1来自GFG类
m2来自于m1
m1 :1
被创建的对象的数量 : 1
以上程序的控制流程:
方法调用的内存分配
方法调用是通过堆栈实现的。每当在堆栈区域内创建一个被称为方法的堆栈框架时,之后将传递给该参数的参数以及此被调用方法所返回的局部变量和值存储在此堆栈框架中,并且当被调用方法的执行完成时,分配的堆栈帧将被删除。有一个堆栈指针寄存器,用于跟踪堆栈顶部,并相应地对其进行了调整。