创建对象的格式如下:
类名称 对象名 = new 类名称();
每次 new 都相当于开辟了一个新的对象,并开辟了一个新的物理内存空间。如果一个对象只需要使用唯一的一次,就可以使用匿名对象,匿名对象还可以作为实际参数传递。
匿名对象就是没有明确的给出名字的对象,是对象的一种简写形式。一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。
public class Person {public String name; // 姓名public int age; // 年龄// 定义构造方法,为属性初始化public Person(String name, int age) {this.name = name;this.age = age;}// 获取信息的方法public void tell() {System.out.println("姓名:" + name + ",年龄:" + age);}public static void main(String[] args) {new Person("张三", 30).tell(); // 匿名对象}
}
程序运行结果为:
姓名:张三,年龄:30
在以上程序的主方法中可以发现,直接使用了“new Person(“张三”,30)”语句,这实际上就是一个匿名对象,与之前声明的对象不同,此处没有任何栈内存引用它,所以此对象使用一次之后就等待被 GC(垃圾收集机制)回收。