方法的调用
-
静态方法 :static
-
非静态方法
-
形参和实参
-
值传递和引用传递
-
this关键字
-
这是一个学生类,包含了静态方法和非静态方法
package oop.demo01;
//学生类
public class Student {
//非静态方法
public void say(){
System.out.println("说话");
}
//静态方法
public static void sayhello(){
System.out.println("hello");
}
}
- 静态方法和非静态方法的区别
package oop.demo01;
public class Demo02 {
public static void main(String[] args) {
//非静态方法 必须通过实例化调用
//实例化这个类 new
//对象类型 对象名 = 对象值
Student student = new Student();
student.say();
//静态方法可以直接在其它类中不通过实例化调用
Student.sayhello();
}
//static 静态方法是和类一起加载的,类存在的时候这个方法就存在
//非静态方法是和实例一起加载的
public void a(){
b();
}
public void b(){
}
}
- 值传递demo
package oop.demo01;
//值传递
public class Demo04 {
public static void main(String[] args) {
int a =1;
System.out.println(a);//1
Demo04.change(a);
System.out.println(a);//1
}
//返回值为空.a只是形参
public static void change(int a) {
a = 10;
}
}
//结果:
1
1
- 引用传递demo
package oop.demo01;
//引用传递:对象,本质还是值传递
public class Demo05 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
Demo05.change(person);
System.out.println(person.name);
}
public static void change(Person person){
//person是一个对象:指向的是Person person = new Person();
//这是一个具体的人,可以改变
person.name = "123";
}
}
//定义了一个Person类,有一个属性:name
class Person{
String name;
}
//结果为:
null
123