freeCodeCamp/guide/chinese/java/methods/index.md

3.7 KiB
Raw Blame History

title localeTitle
Methods 方法

方法

Java中最容易识别的方法可能是public static void main(String[]args) ,其中public表示用户可以访问该方法, static表示该方法基于“类”而不是“实例”, void表示没有任何东西会从方法返回到另一个(更高级别)方法,而main是这个特定方法的名称。

getName()getManufacturerName()是我们在这里使用的两个“Getter”方法。通常Java中的方法包含以下部分 -

  • Access Modifer可选 - public privateprotected 。如果省略则默认为package private
  • 返回类型 - 这是必需的,它表示方法返回的值,如果没有返回任何值,则返回void
  • 方法名称 - 遵循camelCase约定
  • 参数列表 - 参数列表及其名称和类型,如果没有接受参数,则为空
  • 方法体被{ }包围

方法也可以选择使用static关键字这意味着它与类本身相关联而不是类的实例ex - public static void main()

请注意与JavaScript不同我们必须定义我们编写的任何方法的返回类型,否则它将在编译时失败。如果您不希望方法返回任何内容,请使用void return type。

每个方法都有一个签名,它是数据类型,名称和方法所用参数数量的组合。在public static void main该方法没有指定的数据类型,而是使用void来声明不返回任何数据。在名为public static double ave(double val, double val)的方法中数据类型为“double”0.0名称为“ave”平均值方法采用2个参数。每种方法都必须具有唯一的签名。

public class Car { 
    private String name; 
    private String manufacturersName; 
 
    public void changeName() { 
        name = "Tesla"; 
    } 
 
    public String getName(){ 
        return name; 
    } 
 
    public String getManufacurername(){ 
        return manufacturersName; 
    } 
 
 } 

参数可以传递给方法。参数在括号内的方法名称后面声明。 参数声明的语法是[数据类型] [名称]。

public class Car { 
    private String name; 
 
    public void changeName(String newName) { 
        name = newName; 
    } 
 } 

与任何其他语言一样方法或函数如果您来自JS世界经常用于其模块化和可重用性。

方法通常用于许多目的,例如更新对象中的信息或将数据提供给调用者。这里有些例子。

public class Car { 
    private int numberOfWheels; 
 
    public void setNumberOfWheels(int newNumberOfWheels) { 
        numberOfWheels = newNumberOfWheels; 
    } 
 
    public int getNumberOfWheels() { 
        return numberOfWheels; 
    } 
 } 

getNumberOfWheels()的情况下,返回类型是int ,它是整数。关键字return告诉java传回实例变量numberOfWheels的值。然而, setNumberOfWheels(int newNumberOfWheels)没有返回类型因为它是如前所述的setter方法。在这种情况下虽然它接受int类型的参数并使实例变量numberOfWheels等于newNumberOfWheels

还有一种称为构造函数的特殊方法,允许在实例化类时设置数据或执行操作。此构造函数没有返回类型。

public class Car { 
    private String model; 
    private int numberOfWheels; 
 
    public Car(String model, int numberOfWheels) { 
        this.model = model; 
        this.numberOfWheels = numberOfWheels; 
    } 
 } 

Car类和Car(String model, int numberOfWheels)方法必须具有相同的名称以便java知道它是构造函数。现在只要您使用new关键字实例化新的Car实例,就需要调用此构造函数并传入所需的数据。