1.按值传递(栈内存)
public class Test02 {
public static void main(String[] args) {
int x= 10;
int y= x;
x++;
System.out.println(x);
System.out.println(y);
}
}
2.按引用传递(堆内存)
public class Student {
int a;
}
public class Test02 {
public static void main(String[] args) {
Student student = new Student();
student.a = 10;
Student student1 = student;
student.a++;
System.out.println(student.a);
System.out.println(student1.a);
}
}
3.按值传递
public class Student {
public void m1(String s){
s="blue";
}
}
public class Test02 {
public static void main(String[] args) {
String color="white";
Student student=new Student();
student.m1(color);
System.out.println(color);
}
}
4.按引用传递
public class Student {
public void feed(Dog dog) {
dog.color = "red";
}
}
class Dog {
String color;
public Dog(String color){
this.color=color;
}
}
public class Test02 {
public static void main(String[] args) {
Student student = new Student();
Dog d = new Dog("black");
student.feed(d);
System.out.println(d.color);
}
}
5.实例变量,局部变量
public class Student {
int x;
public void m1(){
int y=10;
System.out.println("y="+y);
}
}
public class Test02 {
public static void main(String[] args) {
//实例变量,局部变量
Student s = new Student();
System.out.println("x="+s.x);
s.m1();
}
}