关于内部类的面试题
发布人: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); } } }
面试官:非常好,你对内部类的理解很清晰。谢谢你的回答。
面试者:谢谢。