码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象(匿名对象的概述与应用)

时间:2019-04-13 17:38:42      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:color   需要   new   结果   运行   产生   参数传递   回收   eth   

什么是匿名对象?

  • 没有名字的对象

匿名对象应用场景

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

  节省代码

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

  • 匿名对象可作为实际参数传递

 

匿名对象只适合对方法的一次调用,因为调用多次就会产生多个对象,不如用有名字的对象

 

匿名对象是否可以调用属性并赋值?有什么意义?

匿名对象可以调用属性,但是没有意义,因为调用后就变成垃圾

如果需要赋值还是用有名字对象

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

面向对象(匿名对象的概述与应用)

标签:color   需要   new   结果   运行   产生   参数传递   回收   eth   

原文地址:https://www.cnblogs.com/happystudyhuan/p/10702014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!