匿名对象的说明

匿名对象

  • 什么是匿名对象?
  • 匿名对象的格式为?
  • 什么时候使用匿名对象?
总结:

    1. 没有名字的对象

        Person p = new Person();

        new Person();

    2. new 类名();

    3.
        A. 仅对方法进行一次调用的时候            --> 重点

                new Person().eat();

                new Person().eat();

        B. 匿名对象可以作为参数传递


注意:

    匿名对象可以给对象的属性赋值, 但是没有意义!

        new Person().name = "张三";
        new Person().show();        // null

匿名对象作为方法的参数和返回值

  • 匿名对象作为方法的参数和返回值的时候, 传递的是什么?
总结:

    1. 地址值


示例:

    public static Person getInstance(){
        return new Person();
    }


    usePerson(new Person());    


    public static void usePerson(Person p){ // Person p = 0x0011;
                                            // Person p = new Person();
        p.eat();
    }


快捷键:

    补齐方法的返回值.

            alt + 回车    -> variable;
匿名DBus是一种DBus消息总线的使用方式,它可以让发送DBus消息的进程不需要提供或知道DBus名称,从而实现进程之间的匿名通信。下面我举一个简单的例子来说明匿名DBus的使用方法。 首先,我们需要安装DBus开发库和工具包。在Ubuntu系统中,可以使用以下命令进行安装: ```bash sudo apt-get install libdbus-1-dev dbus-x11 ``` 接下来,我们编写一个简单的DBus客户端程序,向DBus总线发送匿名消息: ```c #include <stdio.h> #include <stdlib.h> #include <dbus/dbus.h> int main(int argc, char** argv) { DBusMessage* msg; DBusMessageIter args; DBusConnection* conn; DBusError err; int ret; // 初始化DBus错误对象 dbus_error_init(&err); // 连接DBus总线 conn = dbus_bus_get(DBUS_BUS_SESSION, &err); if (dbus_error_is_set(&err)) { fprintf(stderr, "Connection Error (%s)\n", err.message); dbus_error_free(&err); return EXIT_FAILURE; } if (conn == NULL) { fprintf(stderr, "Connection Null\n"); return EXIT_FAILURE; } // 创建DBus消息对象 msg = dbus_message_new_signal("/", "com.example.TestSignal", "Test"); // 发送DBus消息 ret = dbus_connection_send(conn, msg, NULL); dbus_connection_flush(conn); if (ret == DBUS_HANDLER_RESULT_HANDLED) { printf("Message Sent\n"); } else { printf("Message Not Sent\n"); } // 释放DBus消息对象 dbus_message_unref(msg); // 关闭DBus连接 dbus_connection_close(conn); return EXIT_SUCCESS; } ``` 在上述代码中,我们使用了`dbus_bus_get()`函数连接到DBus总线,并使用`dbus_message_new_signal()`函数创建了一个匿名DBus信号消息。然后使用`dbus_connection_send()`函数向DBus总线发送消息,最后使用`dbus_message_unref()`函数释放DBus消息对象,`dbus_connection_close()`函数关闭DBus连接。 我们可以编译并运行上述代码,观察DBus总线上是否有匿名消息被发送。此时,如果有其他进程监听了DBus总线上的所有消息,那么它们可以接收到我们发送的匿名DBus消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值