java基础——匿名对象的使用
一、概念
匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。说白了就是没有名字的对象。
public class Student{
String name;//学生姓名
public void eat(){
System.out.println("吃");
}
}
创建一个普通对象:
Student s = new Student();
创建一个匿名对象:
new Student();
只有右边的对象没有左边的名字和赋值符。
格式:
New 类名();
二、特点
1.创建匿名对象直接使用,没有变量名。
new Student().eat(); //eat方法被一个没有名字的Student对象调用
2.匿名对象在没有指定其引用变量时,只能使用一次。
new Student().eat(); //创建一个匿名对象,调用eat方法
new Student().eat(); //想再次调用eat放啊,重新再创建一个匿名对象
3.匿名对象可以作为方法接受的参数、方法返回值使用。
作为方法的返回值:
class Person{
public static Student getStudent(){
//一般方式
//Student s = new Student();
//return s;
//匿名对象方式
return new Student();
}
}
作为方法接受参数:
class Test{
public static void main(String[] args){
Student s = new Student();
Teacher t = new Teacher();
//一般方式:
t.show(s);
//匿名对象方式
t.show(new Student)
}
class Teacher{
public void show(Student s){
System.out.println("老师找"+s+"谈话");
}
}
}
三、应用场景
调用方法,用于仅仅只调用一次的时候。
注意:调用多次的时候不适合,因为用一次就要创建一个新的对象。
匿名对象可以作为实际参数传递,传递的时候实际是传递的内存中的地址值。