JAVA内部类

原创 2016年08月29日 22:23:00

一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,称为内部类。

1.内部类的作用

1.内部类提供了更好的封装,只能让外部类直接访问,不允许同一个包中的其他类直接访问。

2.内部类可以直接访问外部类的私有属性,内部类被当成外部类的成员。但外部类不能访问内部类的内部属性。

2.内部类的使用场合

由于内部类提供了更好的封装特性,并且可以很方便的访问外部类的属性。所以,通常内部类在只为所在外部类提供服务的情况下优先使用。

3.内部类的分类

3.1成员内部类

可以使用privateprotectedpublic任意进行修饰。类文件:外部类s内部类class

3.1.1 成员内部类的访问方式

1.在外部类内提供一个方法创建内部类的对象进行访问。

2.在其他类创建内部类的对象进行访问。创建的格式:

外部类.内部类  变量名=new 外部类().new  内部类;

3.如果是静态内部类,则它的访问方式为:

  外部类.内部类   变量名=new  外部类.内部类();

  定义格式为:

      static  class ClassName{

           //类体

      }

3.1.2成员内部类的注意事项

1.成员内部类可以直接访问外部类的成员。

2.如果成员内部类与外部类存在同名的成员,在内部类中默认是访问内部类的成员,成员通过“外部类.this.成员”指定访问外部类的成员。

3.如果成员内部类出现了静态的成员,那么该成员内部类也得用static修饰。

4.如果成员内部类是私有的,那么创建内部类的对象就只能在外部类提供方法创建。

 

3.1.3匿名内部类

1.适合那种只需要使用一次的类。比如:键盘监听操作等等。语法:

new 父类构造器(实参列表)实现接口(){

      //匿名类类体

}

2.好处:可以简化书写

3.前提:必须有继承的关系

3.1.4 局部内部类

1.定义:在一个类的方法内部定义的另外一个类,则这个类称为局部内部类。

2.局部内部类注意的事项:如果局部内部类访问了局部变量,那么该变量需要使用final修饰(原因:因为声明周期不一致,所以内部类访问的局部变量是一个复制品。)

Java 匿名内部类

  • 2017年08月02日 22:58
  • 6KB
  • 下载

JAVA_内部类_反射机制

  • 2014年04月24日 20:04
  • 104KB
  • 下载

java内部类---详细解释

内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权...

java中的匿名内部类总结

  • 2013年10月09日 21:57
  • 30KB
  • 下载

JAVA_12内部类

  • 2012年12月18日 21:05
  • 17.11MB
  • 下载

java匿名内部类使用外部变量时,外部变量必须是final,为什么?

转自:http://blog.csdn.net/u011617742/article/details/516135191,Java中的匿名内部类是如何实现的? 先定义一个接口: public in...

java内部类学习资料

  • 2010年12月25日 13:05
  • 156KB
  • 下载

java 匿名内部类的使用规范

  • 2010年06月21日 15:01
  • 59KB
  • 下载

Java 基础巩固:内部类的字节码学习和实战使用场景

文章出自:安卓进阶学习指南 主要贡献者: Cloud9527 Alex_赵 Struggle shixinzhang 读完本文你将了解: [TOC] ...

java内部类解析.......

  • 2009年10月27日 23:46
  • 239KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA内部类
举报原因:
原因补充:

(最多只允许输入30个字)