回顾方法的调用:递归

1、静态方法:加了static

①在Main命名的文件里写:

``public class Main { public static void main(String[] args) { Student.say(); } }

②在Student命名的文件里写:

//学生类

public class Student {

public static void say(){
System.*out*.println("学生说话了");
}
}

2、非静态方法:没有加static

①在Main命名的文件里写:

``public class Main { public static void main(String[] args) { //实例化这个类new //对象类型 对象名=对象值; Student student = new Student(); student.say() } }

②在Student命名的文件里写:

public class Student {
public void say(){
System.*out*.println("学生说话了");
}
}

例子:

``public class Main { public static void main(String[] args) { //static是和类一起加载的 public static void a(){ b(); } //类实例化之后才存在 public void b(){ } }

这样调用会出错

3、形参和实参

如何调用方法,有两种方式

①对于没有static的非静态方法

Public class Main{
public static void main(String[] args){
new Main().add()
}
public int add(inta,intb){
return a+b;
}
}

②对于有static的静态方法:

public class Main{
public static void main(String[] args){
int add = Main.add(1,2);
System.out.println();
}
public static int add(int a,int b){
return a+b;
}
}

4、值传递和引用传递

Java中都是值传递

//值传递
public class Main{
public static void main(String[] args) {
int a = 1;
System.out.println(a);
Main.change(a);
System.out.println(a);
}
//返回值为空
public static void change (int a){
a = 10;
}
}

//引用传递:对象,本质还是值传递
public class Main{
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name)``;//null Main.change(person);
System.out.println(person.name);``//秦疆
}
public static void change(Person person){

//person是一个对象:指向的Person person= new Person();这是一个具体的人,可以改变属性!

person.name = "秦疆";
}
}
//定义了一个Person类,有一个属性:name
class Person{
String name;
}

5、this关键字

posted @ 2025-04-17 10:28  琬六岁  阅读(11)  评论(0)    收藏  举报