Java 成员方法的定义

方法的定义:

  • 方法是类或对象的行为特征的抽象。
  • Java中的方法不能独立存在,所有的方法必须定义在类中。
  • 使用 “类名.方法” 或 “对象.方法” 的形式调用。
  • 语法格式:

    权限修饰符 返回值类型 方法名(参数类型 参数名) {

      // 方法体

      // 返回值

    }

方法分类:

  • 无参数无返回值
  • 有参数无返回值
  • 无参数有返回值
  • 有参数有返回值
public class Method {
    
    public void aMethod() {
        System.out.println("无参数无返回值的方法");
    }
    
    public void bMethod(int b) {
        System.out.println("有参数无返回值的方法");
    }
    
    public int cMethod() {
        System.out.println("无参数有返回值的方法");
        return 10;
    }
    
    public int dMethod(int d) {
        System.out.println("有参数有返回值的方法");
        return d;
    }

    public static void main(String[] args) {
        int ret;
     // 创建Method类的对象 Method md
= new Method();
     // 通过对象.方法调用 md.aMethod(); md.bMethod(
10); ret = md.cMethod(); ret = md.dMethod(10); System.out.println(ret); } }

方法的参数:

方法可以没有参数,或者有多个参数,参数类型可以是任意类型

方法参数也是局部变量

参数为引用数据类型时:

  当对象实例作为参数传递给方法时,传递的是对象的引用,为地址传递,接受参数的方法可以改变参数的值。

参数为简单数据类型时:

  传递的是参数的副本,为值传递,接受参数的方法中不会改变参数的值。

public class MethodParam {
    
    /** 
     * 方法的参数为基本数据类型时,传递的是值的副本(值拷贝)
     * 方法中不会改变元参数的值
     */
    public void swap(int a, int b) {//a, b为形参
        int tmp;
        tmp = a;
        a = b;
        b = tmp;
    }
    
    int x = 100, y = 200;
    
    /**
     * 方法的参数为引用数据类型时,传递的对象的引用(传地址)
     * 方法中可以改变参数的值
     */
    public void swap2(MethodParam mp) {
        int tmp = mp.x;
        mp.x = mp.y;
        mp.y = tmp;
    }

    public static void main(String[] args) {
        MethodParam mp = new MethodParam();
        
        int m = 10, n = 20;
        System.out.println("交换前:a = "+m+",b = "+n);
        mp.swap(m, n);// m,n为实参
        System.out.println("交换后:a = "+m+",b = "+n);
        
        System.out.println("交换前:x = "+mp.x+",y = "+mp.y);
        mp.swap2(mp);
        System.out.println("交换后:x = "+mp.x+",y = "+mp.y);
    }

}
原文地址:https://www.cnblogs.com/lialong1st/p/7810426.html