方法的调用(递归)
-
静态方法
package com.oop.dome01; public class Dome02 { public static void main(String[] args) { //实例化这个类 new //对象类型 对象名 = 对象值; Student student = new Student(); student.say(); //没有static这样调用,有直接调用 } //和类一起加载的 静态 public static void a(){ //b(); } //类实例化 之后才存在 非静态 public void b(){ a(); } }
-
形参和实参
package com.oop.dome01; public class Dome03 { public static void main(String[] args) { //实际参数和形式参数的类型要对应 int add = Dome03.add(1,2);//实际参数 System.out.println(add); } public static int add(int a,int b){ //形式参数 return a+b; } }
-
值传递
package com.oop.dome01; //值传递 public class Dome04 { public static void main(String[] args) { int a = 1; System.out.println(a);//1 Dome04.change(a); System.out.println(a);//1 } //返回值为空 public static void change(int a){ a = 10; } }
-
引用传递
package com.oop.dome01; //引用传递:对象,本质还是值传递 //对象,内存 public class Dome05 { public static void main(String[] args) { Person person = new Person(); System.out.println(person.name);//null Dome05.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; }