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

内部类

时间:2016-04-17 13:04:44      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

什么是内部类?

在一个类(A)中嵌套着另一个类(B)那么B就是A的内部类;

技术分享
  1 public class Text1 {
  2        String name;
  3  public class text2{
  4         public void SetName(){
  5                name="123";
  6         }
  7  }
  8 }
内部类的定义

内部类的特点

内部类会自动保存外部类的应用。内部类可以直接访问内部类的成员

内部类的作用域:

内部类按照作用域可以进行如下分类

技术分享

而上面《内部类的定义》中就是定义一个实例内部类静态内部类只需在Class关键字前面加一个Static关键字即可。

静态内部类不必须持有外部类的实例的引用

局部内部类就是在外部类的方法中定义内部类。局部内部类不能有访问修饰符

技术分享
  1 public class Text1 {
  2        String name;
  3  public void txt()
  4   {
  5       class text2{
  6         public void SetName(){
  7                name="123";
  8         }
  9   }
 10  }
 11 }
局部内部类的定义

局部内部类只在定义它的方法中有效。它还可以访问方法中定义的局部成员及参数

内部类的使用

在使用实例内部类之前必须先创建出它的外部类的实例

技术分享
  1 Text1 t=new Text1();
  2 Text1.text2 t=t.new text2();
  3 
局部内部类的调用

而静态内部类在使用前则不必先创建它的外部类的实例

技术分享
  1 Text1.text2 t=new text1.text2();
  2 
静态内部类的调用

比较实例内部类、静态内部类和局部内部类

技术分享

内部类的继承:

当一个类(A)继承另一个类(B)的内部类(C)时该类必须自动引用另一个类(B)的实例

其引用关系如下:

A——》C——》B

内部类的用途:

封装

将外部类的实现封装成内部类对外只提供少量接口(方法)

内部类

标签:

原文地址:http://www.cnblogs.com/wangzheand/p/5400643.html

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