Java中数据分为两种类型:原生数据类型和引用类型。
对于两种数据类型我们需要明确的一点是: pass by value
即无论对于原生数据类型还是引用类型都是传递value,只是原生数据类型传递的value是值,而引用类型传递的是地址。
public class PassTest { public void method1(int a) { a = 100; } public void method2(Point point) { point.x = 100; point.y = 100; } public static void main(String[] args) { int a = 0; PassTest pt = new PassTest(); Point point = new Point(); pt.method1(a); pt.method2(point); System.out.println(a); System.out.println(point.x); System.out.println(point.y); } } class Point { int x; int y; public Point() { this.x = 0; this.y = 0; } }
String是个常量,创建之后内容不会发生改变。
字符串池中没有的对象会马上创建。