Java高频率基础面试问题,源码解析Java中4种类型内部类

最近都是从基础知识点来分析分享,因为很多同学在Java基础学习中并没有系统的学到,比如常见的几种内部类,大概也没有几个同学能一次性说出来并准确的使用它。今天我就给大家解析一下Java中4种类型的内部类,这也是比较容易考的考点了。这篇文章通过4个简单的例子来说明它们。

在介绍这篇技术文章之前,小编先给大家分享一下,我是一名5年Java开发的程序员现在辞职在家,在此我跟大家说一下,因为最近是在整理,也就从2018初到现在刚刚准备好,一套系统的Java教程(基础+案例+工具)今天我就给大家分享下我的成果。

Java高频率基础面试问题,源码解析Java中4种类型内部类

1.静态内部类

只能访问外部类的静态成员变量和静态方法,生成静态内部类的方式为:*.Inner inner=new *.Inner();

Java高频率基础面试问题,源码解析Java中4种类型内部类

2.成员内部类

A)可以当做成员变量来看待理解,可以访问外部类的静态与非静态方法和成员变量,生成成员内部类的方式(例):Outer o = new Outer();

Inner i = o.new Inner();

B)若想在成员内部类中访问外部类的变量,语法为:Outter.this

Java高频率基础面试问题,源码解析Java中4种类型内部类

3.局部内部类

A)内部类不能被public、private、static修饰;

B)在外部类中不能创建内部类的实例;

C)创建内部类的实例只能在包含他的方法中;

D)内部类访问包含他的方法中的变量必须有final修饰;

E)外部类不能访问局部内部类,只能在方法体中访问局部内部类,且访问必须在内部类定义之后。

Java高频率基础面试问题,源码解析Java中4种类型内部类

Java高频率基础面试问题,源码解析Java中4种类型内部类

4.匿名内部类

a) 没有类名,没有构造方法,但是隐式地继承一个父类或者实现一个接口。

b) 通常作为方法参数,在swing中注册监听者用的较多。

Java高频率基础面试问题,源码解析Java中4种类型内部类

这篇文章就分享到这了,比较晦涩的都用稍微的解释了一下它的方法,大家有没有学会呢?


分享到:


相關文章: