有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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


共 (2) 个答案

  1. # 1 楼答案

    在Java中,有匿名类

  2. # 2 楼答案

    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表达式