画内存图
(1)画图分析1
垃圾说明:堆中的数据,如果没有任何引用指向,可视为垃圾
public class CarDemo {
public static void main(String[] args) {
Car c = new Car();
Car c1 = new Car();
c.color = "green";
c.number = 5;
c1.run();// 问题一:结果是什么?null:0
c = null;// 问题二:有垃圾吗? 有
}
}
class Car {
String color;
int number;
void run() {
System.out.println(this.color + "::" + number);
}
}
(2)画图分析2
public class CarDemo {
public static void main(String[] args) {
Car c = new Car();
Car c1 = c;
c1.color = "green";
c.number = 5;
c1.run();// 问题一:结果是什么? green::5
c = null;// 问题二:有垃圾吗? 没有
}
}
class Car {
String color;
int number;
void run() {
System.out.println(this.color + "::" + number);
}
}
(3)画图分析3
充分理解引用类型和基本数据类型在参数传递中的区别
public class Demo {
public static void main(String[] args) {
int x=4;
show(x);
System.out.println("x="+x);
}
public static void show(int x){
x=5;
System.out.println(x);
}
} //x=4
class Demo{
int x;//成员变量
public static void main(String[] args) {
Demo d = new Demo();
d.x=5;
show(d);
System.out.println("x="d.x);
}
public static void show(Demo d){
d.x=6;
}
} //d.x=6