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

C#中的Java内部类

蓝夕
2023-03-14
问题内容

我有以下Java代码:

public class A {
    private int var_a = 666;

    public A() {
        B b = new B();
        b.method123();
        System.out.println(b.var_b);
    }

    public class B {
        private int var_b = 999;

        public void method123() {
            System.out.println(A.this.var_a);           
        }
    }
}

得出666和999。现在,我尝试在c#中设置类似的代码,但是似乎无法完成相同的工作。如果是这样,用c#编程时通常如何达到类似的效果?


问题答案:

您需要使内部类将外部类的实例作为构造函数参数。(这是Java编译器实现内部类的方式)



 类似资料:
  • 问题内容: 我正在编写C#Wicket实现,以加深对C#和Wicket的理解。我们遇到的问题之一是Wicket大量使用匿名内部类,而C#没有匿名内部类。 因此,例如,在Wicket中,您可以这样定义一个链接: 由于Link是一个抽象类,因此它强制实现者实现onClick方法。 但是,在C#中,由于没有匿名内部类,因此无法做到这一点。另外,您可以使用如下事件: 当然,这样做有两个缺点。首先,可以有多

  • 我在学习Java中读到关于内部班级的文章。我找到了这个密码 编译后,javap的动物$Brain输出为 这解释了内部类如何在内部类构造函数中获取对其封闭实例的引用。但是当我像这样将内部类定义为private时 然后编译后,javap'动物$Brain'给出输出为 那么为什么输出不同呢?为什么没有显示内部类构造函数?在后一种情况下,内部类也获得了封闭类实例的引用。

  • 局部内部类是指在一个方法中定义的内部类。示例代码如下: 局部内部类有如下特点: 1)局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。 2)局部内部类只在当前方法中有效。 3)局部内部类中不能定义 static 成员。 4)局部内部类中还可以包含内部类,但是这些内部类也不能使用访问控制修饰符(public、priv

  • 本节我们将介绍 Java 中的内部类。通过本节的学习,我们将了解到什么是内部类,内部类的分类和作用。在内部类的分类部分,我们将逐一学习各个类型的内部类如何定义,如何实例化以及各自的特点,要注意区分不同类型内部类的异同。有了这些基础知识之后,我们也会结合示例介绍为什么需要内部类。 1. 概念 在 Java 语言中,可以将一个类定义在另一个类里面或者一个方法里面,我们把这样的类称为内部类。 与之对应的

  • 问题内容: 我正在尝试使用Java API通过Elasticsearch实现内部匹配,但是我找不到关于它的许多文档或其他人正在使用的示例。我的JSON搜索工作如下: 我在elasticsearch库中看到了InnerHitsBuilder和addInnerHit方法,但是找不到有关如何使用它们的文档。 问题答案: 请注意,ES源代码中有大量测试用例,正在测试每个功能,因此浏览ES代码是非常丰富的信

  • 本文向大家介绍Java中HashMap的内部工作,包括了Java中HashMap的内部工作的使用技巧和注意事项,需要的朋友参考一下 函数“ hashCode”用于获取Java中对象的哈希码。这是超类Object的对象。它以整数形式返回对象引用的内存。这是一个本机函数,这意味着Java中没有直接方法可用于获取对象的引用。 为了使HashMap的性能更好,请正确使用。基本上,此函数用于计算存储区和索引