1.1 匿名对象

匿名对象就是没有明确给出名字的对象。一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。

匿名对象的使用:

class Person05{

private String name;

int age;

public Person05(String name,int age){

this.setName(name);

this.setAge(age);

}

public void tell(){

System.out.println("姓名:" + getName() + ", 年龄:" + getAge());

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

if (age > 0 && age < 150) {

this.age = age;

}

}

}

class NoNameDemo01{

public static void main(String[] args) {

new Person05("李四",12).tell();;

}

}

运行结果:

姓名:李四, 年龄:12

直接使用了“new Person(李四,12)”,这实际上就是一个匿名对象,与之前声明的对象不同,此处没有任何栈内存引用它,所以此对象使用一次之后就等待被垃圾收集机制回收。

匿名对象的作用:

匿名对象在实际开发中基本上都是作为其他类实例化对象的参数传递的,在后面的java应用部分的很多地方都可以发现其用法。匿名对象实际上就是一个堆内存空间,对象不管是匿名还是非匿名,都必须在开辟堆内存空间之后才可以使用。