A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 郁金香大公爵 中级黑马   /  2015-7-25 17:44  /  465 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在学习JAVA语言的面向对象时,我们接触到了内部类,这是一个我们整个基础学习中经常会遇到的知识点。所以我对内部类做了一个详细的阐述:
一、内部类定义:
其实就是将一个类定义到了另一个类的内部中。具体点说就是:比如A类想要访问B类中的成员时,就可以将A类定义到B类中,作为B类的内存存在,这样A类就可以对B类中的成员进行直接访问。
首先通过一段简单代码简单展示一下内部类:
内部类按照修饰符修饰可以分为:静态内部类,非静态内部类以及抽象内部类三类。这里主要讲一下静态内部类和非静态内部类。
1.静态内部类:顾名思义被静态修饰符static修饰的内部类叫做静态内部类。
静态内部类注意事项:①只能访问外部类中的静态成员;
②静态内部类中可以定义静态和非静态方法。
     结合代码来看一下:
2.非静态内部类:
   对于非静态内部类在使用时要注意以下三点:
①不能定义静态方法;
②只能定义静态常量(例如:static  finally int NUM = 7;)
③可以直接访问外部类成员。
当内部类还可以按照位置的不同分为:局部内部类和匿名内部类两种。
1.局部内部类:定义在外部类的方法中的内部类。
  注意事项:
  局部内部类不允许直接访问局部变量。如果需要访问,必须在局部变量前加final
  要在外部类的方法中创建局部内部类对象。
2.匿名内部类:简化书写的内部类。
匿名内部类并不是任何情况下都能使用,是有前提的:匿名内部类需要继承或是实现外部的类或者是接口。否则,不能使用匿名内部类。其实匿名内部类就是个子对象。
匿名内部类的格式:new 父类名(){子类的内容}或者 new接口名(){子类的内容}
在使用匿名内部类时,要注意一点:父类或是接口中的方法不得超过两个,否则不要使用内部类。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马