Java中,方法相当于其它语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,整个程序是由一个个函数组成的;但是在面向对象的语言里,整个程序是由一个个类组成的。因此在Java中,方法不能独立存在,它只能属于类或者对象。因此,如果我们要定义一个方法,就必须在类中定义。值得注意的是,如果这个方法添加了修饰符static,这个方法就属于这个类,否则的话,这个方法属于这个类的实例。

方法是仅在调用时运行的代码块。可以将称为参数的数据传递到方法中。方法主要是能重用代码,定义一次代码,并多次使用。

1、声明方法

方法必须在类中声明。它被定义 方法的名称,后跟括号()。 Java提供了一些预定义的方法,例如,System.out.println(),但是也可以自己定义方法来执行某些操作:

例如:

在Main中声明方法:

public class Main {
  static void myMethod() {
    // 要执行的代码
  }
}

示例说明

1)myMethod()是方法的名称

2)static表示该方法属于Main类,而不是Main类的对象。

3)void表示此方法没有返回值。 

2、调用方法

要使用Java调用方法,请写上方法名称,后跟两个括号()和一个分号。

在以下示例中,调用myMethod()方法输出提示信息:

例如:

main内部,调用myMethod()方法:

public class Main {
  static void myMethod() {
    System.out.println("hello,cjavapy!!!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

一个方法也可以多次调用:

例如:

public class Main {
  static void myMethod() {
    System.out.println("hi,cjavapy");
  }

  public static void main(String[] args) {
    myMethod();
    myMethod();
    myMethod();
  }
}

3、方法的优点

Java 方法的优点可以帮助我们更好地组织代码,提升可复用性、可读性、可维护性,同时还可以通过方法重载和递归来解决复杂问题。通过合理地使用方法,我们能够让代码更加简洁、模块化,并且易于管理和调试。

1)提高代码复用性

方法可以将重复的代码封装起来,避免了重复编写相同的代码,使得代码更加简洁、可复用。

public class Main {
    // 定义一个方法计算两个数字的和
    public static int add(int a, int b) {
        return a + b;
    }

    // 使用相同的方法多次
    public static void main(String[] args) {
        int result1 = add(5, 3);  // 调用add方法
        int result2 = add(10, 20);  // 再次调用add方法
        System.out.println("Result1: " + result1);  // 输出: Result1: 8
        System.out.println("Result2: " + result2);  // 输出: Result2: 30
    }
}

2)提高代码可读性

方法通过给出有意义的名字和参数,使得代码更容易理解。可以通过调用方法来描述动作,减少代码的复杂性。

public class Main {
    // 方法名清晰地描述了汽车启动的行为
    public void startEngine() {
        System.out.println("Engine started");
    }

    public static void main(String[] args) {
        Main myCar = new Main();
myCar.startEngine(); // 通过方法调用,代码更简洁清晰 } }

3)代码模块化与封装

方法可以封装特定的功能,允许代码根据功能进行模块化,便于管理和维护。修改一个方法的实现时,调用该方法的地方不需要修改,减少了维护成本。

class Main {
    // 封装计算平方根的功能
    public double calculateSquareRoot(double number) {
        if (number < 0) {
            throw new IllegalArgumentException("Number cannot be negative");
        }
        return Math.sqrt(number);
    }

    public static void main(String[] args) {
        Main calculator = new Main();
double result = calculator.calculateSquareRoot(16); // 只关心调用结果 System.out.println("Square Root: " + result); // 输出: Square Root: 4.0 } }

4、方法的命名规则

Java 中,方法命名遵循一套约定和规则,以确保代码的清晰、可读性和一致性。遵循这些命名规则有助于开发者理解和维护代码。

1)使用小写字母开头的驼峰命名法

方法名通常采用 小写字母开头的驼峰命名法(camelCase)。即第一个单词以小写字母开头,后续单词的首字母大写。

publicvoidgetUserInfo() { }

2)以动词开头,清晰描述方法的功能

方法通常表示执行某个动作或行为,因此方法名应该以动词或动词短语开头,明确表示方法的功能。

sendEmail()

3)对布尔方法使用 is, has, can 等前缀

对于返回布尔值的方法,通常使用 is, has, can 等词作为前缀,表示方法的行为是检查某个状态或条件。

isEmpty()

4)避免冗余的动词和缩写

避免在方法名中使用冗余的动词,尤其是当方法的行为已经能通过上下文推断出来时。如不需要写 doCalculateTotal(),直接写 calculateTotal() 就足够了。

5)保持一致性和避免与类名冲突

确保整个项目中的方法命名风格一致。如果在项目中某些方法使用了 get 作为前缀,其他获取值的方法也应遵循同样的规则。

getUserName()getUserAge()(保持一致性)

getUserInfo()fetchUserData()(避免混用不同风格)

推荐文档