您的位置:首页 > 其它

匿名对象的概述和应用

2018-01-14 22:36 225 查看

匿名对象的概述和应用

A:什么是匿名对象?

没有名字的对象。

B:匿名对象应用场景。

调用方法,仅仅只调用一次的时候。

a.这种匿名调用有什么好处?节省代码。

b.注意:调用多次的时候,不适用。匿名对象调用完毕即为垃圾,可以被垃圾回收器回收。

C:案例演示,匿名对象应用场景。

class Demo_Car{
public static void main(String[] args){
Car c1 = new Car();                //创建有名字的对象。
c1.run();
//匿名对象调用方法,匿名对象只适合对方法的一次调用,因为调用多次就会产生多个对象,不如用有名字的对象
new Car().run();
}
}
class Car{
String color;                         //颜色
int num;                              //轮胎数
public void run(){
System.out.println(color + "..." + num);
}
}


1.匿名对象调用属性并赋值的场景

class Demo2_Car {
public static void main(String[] args) {
//匿名对象是否可以调用属性并赋值?有什么意义?
/*
匿名对象可以调用属性,但是没有意义,因为调用后就变成垃圾
如果需要赋值还是用有名字对象
*/
new Car().color = "red";
new Car().num = 8;
new Car().run();
}
}
class Car {
String color;           //颜色
int num;                //轮胎数

public void run() {
System.out.println(color + "..." + num);
}
}


匿名对象调用属性及赋值图解:



2.匿名对象可以当作参数传递

class Demo3_Car {
public static void main(String[] args) {
//Car c1 = new Car();
/*c1.color = "red";
c1.num = 8;
c1.run();*/
//method(c1);

method(new Car());

//Car c2 = new Car();
//method(c2);
method(new Car());              //匿名对象可以当作参数传递
}

//抽取方法提高代码的复用性
public static void method(Car cc) { //Car cc = new Car();
cc.color = "red";
cc.num = 8;
cc.run();
}
}

class Car {
String color;           //颜色
int num;                //轮胎数

public void run() {
System.out.println(color + "..." + num);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: