当我们new一个对象的时候,一般都用一个变量来接收,在以后的代码中,我们都通过这个变量来调用对象的方法或属性。而当我们没有用变量接收的时候,就产生了一个匿名对象。
例如:
class Student
{
String school = "北京大学";
public void doHomeWork(){
System.out.println("do homeWork");
}
}
class StudentDemo
{
public static void main(String[] args){
Student s = new Student();
s.doHomeWork();//do homeWork
// 匿名对象调用方法
new Student().doHomeWork();//do homeWork
// 匿名对象当做参数传递
getStudentSchool(new Student());//北京大学
}
public static void getStudentSchool(Student s){
System.out.println(s.school);
}
}
匿名对象用完就变为了垃圾,会被垃圾回收器回收,所以在参数是类型是某个类的是由,其实需要传入这个类的一个实例,此时我们可以传入匿名对象。或者在只调用对象一次方法的时候。我们都可以采用匿名对象,来保证
尽早释放内存。