2.7Java语言的方法(Method)

1.方法声明

返回类型 方法名(类型 值参数, 类型 默认值参数 = 值, 类型...可变参数) {
    //方法体
    return 方法返回值;
}

方法返回值通过return语句实现,如果没有返回值,方法返回类型设置为void,可以省略return

方法可以包含0个或任意个参数。方法参数用于接收传递给方法的变量值。调用方法时,必须严格按照参数的定义一一传递。

2.方法分类

名称修饰访问生命周期
类方法(class method)用 static 修饰类.类方法其生命周期取决于类的生命周期,类被垃圾回收机制彻底回收时才会被销毁。
实例方法(instance method)无 static 修饰对象.实例方法其生命周期取决于对象的生命周期,对象被垃圾回收机制彻底回收时才会被销毁。

3.参数分类

名称修饰符
值参数
默认值参数
可变参数用 … 修饰

4.参数传递方式

由于形参是实参的规范,所以实参的数量和类型需与形参一致。

参数的传递不仅支持按位置从左往右依次传递方式,不支持按命名参数传递方式。

关于值传递还是引用传递,取决于传递的参数是值类型还是引用类型,值类型对局部变量的修改不会反映到方法外部,而引用类型对局部变量的修改会反映到方法外部。

5.重写(Overriding)

class Person {
    public void run() { … }
}

class Student extends Person {
    @Override
    public void run() { … }
}

class Teacher extends Person {
    @Override
    public void run() { … }
}

6.重载(Overloading)

Java可以区分具有不同方法签名的方法,类中的方法可以具有相同的名称,但需使用不同的参数的数量和类型来区分。

假设您有一个可以使用书法绘制各种类型的数据(字符串,整数等)的类,并且该类包含一种绘制每种数据类型的方法。这是麻烦的,为每个方法使用一个新的名称,例如,drawStringdrawIntegerdrawFloat等。在Java编程语言中,您可以对所有绘图方法使用相同的名称,但可以将不同的参数列表传递给每个方法。因此,数据绘图类可能会声明四个名为draw的方法,每个方法都有一个不同的参数列表。

public class DataArtist {
    ...
    public void draw(String s) {
        ...
    }
    public void draw(int i) {
        ...
    }
    public void draw(double f) {
        ...
    }
    public void draw(int i, double f) {
        ...
    }
}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/back/java/6115.html

发表评论

登录后才能评论