方法再巩固
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:
- return 代表方法结束
- break用于跳出switch,结束循环;continue 用于结束本次循环
- 当方法无返回值时(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
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端