前言:主要为个人笔记
匿名对象主要作用:为了简化代码
现在有一个类:Car,正常初始化
class Car{
String color;
void run(){
System.out.println(color);
}
}
class CarDemo{
public static void main(String[] args){
Car c=new Car();
c.run();
}
}
其中以下代码可以用匿名对象简化
Car c=new Car();
c.run();
class Car{
String color;
void run(){
System.out.println(color);
}
}
class CarDemo{
public static void main(String[] args){
new Car.run();
}
}
匿名对象与普通对象的区别:
Car c=new Car();
c.color="red";
c.run();
new Car().color="red";
new Car().run();
普通对象
在堆中生成的一个对象,此对象的属性为red,并且调用此对象的run()
匿名对象
在堆中生成了一个对象,此对象的属性为red
在堆中生成了一个对象,调用此对象的run()
何时使用?
当对象调用方法进行调试的时候,并且只调用一次的时候。可使用匿名对象。
匿名对象——作为实参
class Car{
String color;
void run(Car c){
this.color="red";
System.out.println(this.color);
}
}
class CarDemo{
public static void main(String[] args){
new Car().run(new Car());
}
}