内部类
Posted theqi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类相关的知识,希望对你有一定的参考价值。
1.内部类就是在一个类的内部又创建一个类.。
内部类既可以访问自身的数据域,也可以访问创建它的外围类对象的数据域。
内部类的对象总有一个隐式引用, 它指向了创建它的外部类对象
为了说明这个概念 , 我们将外围类对象的引用称为 outer(有点类似与this),但是其实并没有。
这个outer写出应该是 外类类名.this
下面这个例子写出了内部类对象的创建
AA a= new AA() ;//其中AA类中有一个BB类
AA.BB b = a.new BB();
2.局部内部类:局部内部类就是将类创建到方法中,他不能加public这种修饰符。局部类可以对外部世界可以完全地隐藏起来 。 即使外部类中的其他代码也不能访问它。 除了定义局部内部类的方法之外 , 没有任何方法知道这个内部类的存在
3.匿名内部类:假如只创建这个类的一个对象 , 就不必命名了 。 这种类被称为匿名内部类。
代码如下:
ActionListener listener = new ActionListener()
{
public void actionPerformed ( ActionEvent event )
{
System.out.println (" At the tone, the time is " + new Date() ) ;
if (beep) Toolkit.getDefaultToolkit( ).beep( ) ;
}
};
它的含义是 : 创建一个实现 ActionListener 接口的类的新对象, 需要实现的方法 actionPerformed 定义在括号内
SuperType 也可以是一个类 , 于是内部类就要扩展它
3.静态内部类:
使用内部类只是为了把一个类隐藏在另外一个类的内部, 并不需要内部类引用外围类对象。 为此 , 可以将内部类声明为static , 以便取消产生的引用
以上是关于内部类的主要内容,如果未能解决你的问题,请参考以下文章