调用
非静态调用
package Method;
public class Student {
//方法
public static void say(){
System.out.println("学生说话了");
}
}
package Method;
public class M02 {
public static void main(String[] args) {
Student.say();
//实例化这个类new
//对象类型 对象名=对象值
Student stu1 = new Student();
stu1.say();
}
}
学生说话了
学生说话了
当Student类为static 可直接调用 也可实例化(new)后调用
当Student类不为static时 只能实例化后调用
值传递
package Method;
//值传递
public class M04 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
M04.change(a);
System.out.println(a);
}
public static void change(int a){
a=10;
}
}
1
1
引用传递
package Method;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
//引用传递:对象,本质还是值传递
public class M05 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null
M05.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;
}
null
轻轻
递归
public class R01 {
public int f(int n){
if(n==1){
return n;
}else {
return n * f(n - 1);
}
}
public static void main(String[] args) {
R01 r01 = new R01();
System.out.println(r01.f(5));
}
}
120