码迷,mamicode.com
首页 > 其他好文 > 详细

内部类

时间:2019-02-27 20:36:02      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:size   span   存在   event   概念   code   外部   静态   sys   

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 , 以便取消产生的引用




 



 

内部类

标签:size   span   存在   event   概念   code   外部   静态   sys   

原文地址:https://www.cnblogs.com/TheQi/p/10446234.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!