内存Memory
值类型Value Type
分析题
如果按照 值类型 的数值传输方式
1 2 3 4 5 public class Point { public int x; public int y; ...}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class Main { ... public void run() { Point p1 = Point(3, 4); Point p2 = cross(p1); Console.println(p1.x); // 检查点 2 Console.println(p2.x); // 检查点 3 } public Point cross(Point point) { int temp = point.x; point.x = point.y; point.y = temp; Console.println(point.x); // 检查点 1 return point; }}
上面的代码 在每个检查点的位置,会看到多少
1.
检查点 1
A
3
B
4
2.
检查点 2
A
3
B
4
3.
检查点 3
A
3
B
4
引用类型Reference Type
分析题
如果按照 引用类型 的数值传输方式
1 2 3 4 5 public class Point { public int x; public int y; ...}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class Main { ... public void run() { Point p1 = new Point(3, 4); Point p2 = cross(p1); Console.println(p1.x); // 检查点 2 Console.println(p2.x); // 检查点 3 } public Point cross(Point point) { int temp = point.x; point.x = point.y; point.y = temp; Console.println(point.x); // 检查点 1 return point; }}
上面的代码 在每个检查点的位置,会看到多少
1.
检查点 1
A
3
B
4
2.
检查点 2
A
3
B
4
3.
检查点 3
A
3
B
4
对象 与 内存
内存练习 - 基础
Q37 E01
内存练习 - 循环
Q37 E02
内存练习 - 对象组合
Q37 E03
数组 与 内存
内存练习 - 对象数组
Q37 E04
高级人工内存 实战
内存练习 - 函数调用
Q37 E05
内存练习 - 函数 与 对象
Q37 E06
内存练习 - 综合练习
Q37 E07