作为java类中的一大重要分支,内部类是除了集合类之外,频繁在java中被我们用来使用的。我们在准备复习的时候,需要对内部类的概念和分类进行掌握,在基础知识点的题目中是常见的考点。同时在代码的实例上,会出现部分需要运行和解答的题目。下面就这两方面我们一起看看内部类的面试题目。
一、内部类基础知识点
1.什么是内部类
在Java中,可以将一个类放在另外一个类的定义内部,这就是内部类,内部类本身就是类的一个属性,与其他属性定义方式一致。
内部类有两种类型:局部类和匿名内部类
2.内部类的好处
(1)内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立.
(2)在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。
(3)创建内部类对象的时刻并不依赖于外围类对象的创建。
(4)内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。
(5)内部类提供了更好的封装,除了该外围类,其他类都不能访问。
3.内部类的形式是怎样的
(1)静态内部类
(2)成员内部类
(3)局部内部类
(4)匿名内部类
二、内部类实例试题
问:下面这段代码的输出结果是什么
public class Test { public static void main(String[] args) { Outter outter = new Outter(); outter.new Inner().print(); } } class Outter { private int a = 1; class Inner { private int a = 2; public void print() { int a = 3; System.out.println("局部变量:" + a); System.out.println("内部类变量:" + this.a); System.out.println("外部类变量:" + Outter.this.a); } } }
结果:
3 2 1
以上就是java内部类面试题的整理,本篇只带了基础的内部类的知识点,大家在复习的时候需要兼顾全面的考点,课后可以找一些其他的复习资料。更多Java试题指路:java面试题