java中的匿名类型类似于c#中的类型

本文关键字:类型 类似于 java | 更新日期: 2023-09-27 18:24:03

我在研究c#中的匿名类型,想知道java中是否存在类似的东西。Java在c#中有类似匿名类型的东西吗?

java中的匿名类型类似于c#中的类型

Java中有一些类型是匿名的,因为你不能通过名称来引用它们,但它们与C#中的匿名类型几乎没有共同点。在Java中,它们是匿名的内部类,例如

Runnable x = new Runnable() {
    private int x = 10;
    @Override public void run() {
        System.out.println(x);
        x++;
    }
};
x.run(); // Prints 10
x.run(); // Prints 11

C#的概念是"创建一个具有一堆只读属性的类型,这些属性的类型是从初始化表达式中推断出来的,并自动提供相等和方便的字符串转换实现"。Java中的匿名内部类通常用于实现接口并轻松扩展抽象类——在C#中通常使用lambda表达式。

在Java中有匿名类