<p>Does the Java language have delegate features, similar to how C# has support for delegates?</p>

Short story: ­­­­­­­­­­­­­­­­­­­no
.
Introduction
The newest version of the Microsoft Visual J++ development environment
supports a language construct called
delegates
or
bound method
references
. This construct, and the new keywords
```
delegate
```
and
```
multicast
```
introduced to support it, are not a part of the Java
TM
programming language, which is specified by the
Java Language
Specification
and amended by the
Inner Classes Specification
included
in the
documentation for the JDKTM 1.1 software
.
It is unlikely that the Java programming language will ever include
this construct. Sun already carefully considered adopting it in 1996,
to the extent of building and discarding working prototypes. Our
conclusion was that bound method references are unnecessary and
detrimental to the language. This decision was made in consultation
with Borland International, who had previous experience with bound
method references in Delphi Object Pascal.
We believe bound method references are
unnecessary
because another
design alternative,
inner classes
, provides equal or superior
functionality. In particular, inner classes fully support the
requirements of user-interface event handling, and have been used to
implement a user-interface API at least as comprehensive as the
Windows Foundation Classes.
We believe bound method references are
harmful
because they detract
from the simplicity of the Java programming language and the
pervasively object-oriented character of the APIs. Bound method
references also introduce irregularity into the language syntax and
scoping rules. Finally, they dilute the investment in VM technologies
because VMs are required to handle additional and disparate types of
references and method linkage efficiently.