面向对象(匿名对象的概述与应用)
Posted happystudyhuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象(匿名对象的概述与应用)相关的知识,希望对你有一定的参考价值。
什么是匿名对象?
- 没有名字的对象
匿名对象应用场景
- 调用方法,仅仅只调用一次的时候
节省代码
注意:调用多次的时候,不适合。匿名对象调用完毕就是垃圾。可以被垃圾回收器回收
- 匿名对象可作为实际参数传递
匿名对象只适合对方法的一次调用,因为调用多次就会产生多个对象,不如用有名字的对象
匿名对象是否可以调用属性并赋值?有什么意义?
匿名对象可以调用属性,但是没有意义,因为调用后就变成垃圾
如果需要赋值还是用有名字对象
public class Test05 { public static void main(String[] args) { // Car c1 = new Car();//创建有名字的对象 // c1.run(); // c1.run(); // // new Car().run(); //匿名对象调用方法 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); } }
运行结果:null车运行0
匿名对象作为实际参数传递实例:
public class Test06 { public static void main(String[] args) { method(new Car());//匿名对象可以当作参数传递 } //抽取方法提高代码的复用性 public static void method(Car cc) { cc.color = "red"; cc.num = 8; cc.run(); } } class Car{ String color; int num; public void run() { System.out.println(color + "车运行" + num); } }
运行结果:red车运行8
以上是关于面向对象(匿名对象的概述与应用)的主要内容,如果未能解决你的问题,请参考以下文章
Java面向对象(staticfinal匿名对象内部类包修饰符代码块)
Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,包的声明与访问,四种访问修饰符,代码块)