当前位置:实例文章 » C#开发实例» [文章]关于内部类的面试题

关于内部类的面试题

发布人:shili8 发布时间:2024-01-02 02:00 阅读次数:67

内部类是指在一个类的内部定义的另一个类。内部类可以访问外部类的成员变量和方法,包括私有成员。内部类可以分为成员内部类、局部内部类、匿名内部类和静态内部类。

下面是一个关于内部类的面试题,包含部分代码示例和代码注释:

面试官:请问什么是内部类?内部类有哪些类型?

面试者:内部类是指在一个类的内部定义的另一个类。内部类有成员内部类、局部内部类、匿名内部类和静态内部类。

面试官:请问成员内部类和局部内部类有什么区别?

面试者:成员内部类是定义在一个类的内部,并且不使用static修饰的内部类,它可以访问外部类的成员变量和方法。而局部内部类是定义在一个方法内部的类,它只能在该方法内部使用。

面试官:请给一个成员内部类的示例代码。

面试者:(给出以下示例代码)

javapublic class OuterClass {
 private int outerVar;

 public void outerMethod() {
 int localVar =10;

 class InnerClass {
 public void innerMethod() {
 System.out.println("访问外部类的成员变量:" + outerVar);
 System.out.println("访问外部类方法内的局部变量:" + localVar);
 }
 }

 InnerClass inner = new InnerClass();
 inner.innerMethod();
 }
}


面试官:请问静态内部类和匿名内部类有什么区别?

面试者:静态内部类使用static修饰的内部类,它可以直接通过外部类名访问,而不需要先创建外部类的实例。而匿名内部类是没有类名的内部类,通常用于创建只需要使用一次的类实例。

面试官:请给一个静态内部类的示例代码。

面试者:(给出以下示例代码)

javapublic class OuterClass {
 private static int outerVar;

 public static class StaticInnerClass {
 public void innerMethod() {
 System.out.println("访问外部类的静态成员变量:" + outerVar);
 }
 }
}


面试官:非常好,你对内部类的理解很清晰。谢谢你的回答。

面试者:谢谢。

其他信息

其他资源

Top