方法再巩固

1 方法定义

修饰符 返回类型 方法名(参数列表){
    return;
}
  • 修饰符
  • 返回类型
  • 方法名
  • 参数列表(参数类型 参数名...)
  • break 和 return的区别
  • 异常抛出

return 方法

package com.method;

//有返回值
public class T {
    public static int max(int a, int b) {
        return a > b ? a : b;//三元运算符
    }
}

PS:

  1. return 代表方法结束
  2. break用于跳出switch,结束循环;continue 用于结束本次循环
  3. 当方法无返回值时(return 空就行,或者不写)

2 方法的调用

  • 静态方法
  • 非静态方法
  • 形参和实参
  • 值传递和引用传递
  • this 关键字

2.1 静态 & 非静态 方法

  • 静态方法:直接通过类名调用
  • 非静态方法:实例化对象后调用(new)
package com.method;

public class T {
    // 和类一起加载
    public static void a(){
        b();//无法调用b,静态方法无法调用非静态方法
    }
    
    // 类实例化后 才存在
    public void b(){

    }
}

PS:静态方法无法调用非静态方法

原因:静态方法随着类的加载而加载,非静态方法随着对象实例化后才存在

3 值传递 & 地址传递

Java中都是值传递

3.1 值传递

package com.method;

//值传递
public class T {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a); //1

        T.change(a);
        System.out.println(a); //1
    }
    
    //返回值为空
    public static void change(int a) {
        a = 10;
    }

}

3.2 引用传递

package com.method;

public class T2 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null

        T2.change(person);
        System.out.println(person.name);//jerry
    }

    public static void change(Person person) {
        //person 是一个对象,指向的 ---> Person person = new Person(); 这是一个具体的人可以改变属性
        person.name = "jerry";
    }
}

class Person {
    String name;//null
}
posted @   MR·Jerry  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
欢迎阅读『方法再巩固』
点击右上角即可分享
微信分享提示