当前位置: 首页 > 面试题库 >

Java等效于C#委托(排队要执行的各种类的方法)

梁丘威
2023-03-14
问题内容

TLDR:

是否有Java等效于C#的委托,这使我可以排队各种类的方法并将其动态添加到队列中?语言构造而不是代码。

内容:

我以前使用过Unity 3D,并且喜欢
Update脚本方法。只需声明该方法即可将其添加到每帧执行的方法列表中。我想在我的LWJGL游戏中创建类似的内容。为此,我想使用委托(或与其等效的东西)。是否有任何Java语言构造可以允许我执行此操作?我希望答案包括两个或多个(以便我可以选择最适合我的代码的)构造和使用它们的方式。我不需要代码,只想知道从哪里开始。编程中最有趣的部分是解决问题,我也不想被剥夺。另外,我也不想被告知确切的操作方法。我想被引导向正确的方向,而不是被引导向那个目的地。我将如何学习?:-)


问题答案:

从https://msdn.microsoft.com/zh-
CN/library/aa288459(v=vs.71).aspx中
提取:

C#中的委托类似于C或C
中的函数指针。使用委托可以使程序员将对方法的引用封装在委托对象中。然后可以将委托对象传递给可以调用引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C
中的函数指针不同,委托是面向对象的,类型安全的和安全的。

也就是说,Java没有像C#这样的委托。 但是 ,从Java
8开始,通过使用方法引用和功能接口,我们确实有了某种功能指针。

正如您有礼貌地要求的那样,我不会确切地告诉您如何实现此代码,但是您应该能够根据此信息提出解决方案。



 类似资料:
  • 问题内容: 我在Java中使用以下语句: 请提出等效的C#。 问题答案: 我不知道框架中执行此操作的任何内容,但是实现起来很容易: 或者,如果您要指定计数而不是开始/结束:

  • 背景: 我有C背景,刚开始在嵌入式项目中使用C++。 我编写了一个能够处理多个设备的固件,具体取决于最终用户获得设备之前如何通过图形界面配置固件。 每个设备类型由一个类表示。 许多参数在多个(但不是所有)类型的器件之间共享(即电池电平),一些功能也共享(即从EEPROM读取特定于器件类型的内容)。 目标: 能够通过指针访问函数和变量,而不必不断转换void指针。 在调用函数之前,我不应该知道我使用

  • 本文向大家介绍关于C#委托三种调用的分享使用,包括了关于C#委托三种调用的分享使用的使用技巧和注意事项,需要的朋友参考一下 一、同步调用 1、同步调用会按照代码顺序来执行 2、同步调用会阻塞线程,如果是要调用一项繁重的工作(如大量IO操作),可能会让程序停顿很长时间,造成糟糕的用户体验,这时候异步调用就很有必要了。 举个栗子: * 问:为什么Invoke的参数和返回值和AddHandler委托是一

  • 本文向大家介绍C#中的委托是什么?事件是不是一种委托?相关面试题,主要包含被问及C#中的委托是什么?事件是不是一种委托?时的应答技巧和注意事项,需要的朋友参考一下 答: 委托是将一种方法作为参数代入到另一种方法。 是,事件是一种特殊的委托。 //比如:onclick事件中的参数就是一种方法。

  • 主要内容:声明委托,实例化委托,多播委托(合并委托)C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针,是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。委托特别适用于实现事件和回调方法,所有的委托都派生自 System.Delegate 类。在实例化委托时,可以将委托的实例与具有相同返回值类型的方法相关联,这样就可以通过委托来调用方法。另外,使用委托还可以将方法作为参数传递给其他方法, 委托具有以下特点: 委托类似

  • 本文向大家介绍C#中的委托是什么?事件是不是一种委托?事件和委托的关系。相关面试题,主要包含被问及C#中的委托是什么?事件是不是一种委托?事件和委托的关系。时的应答技巧和注意事项,需要的朋友参考一下 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的指针。 委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实