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

内部类

时间:2017-03-11 17:41:13      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:data   rem   变量   允许   span   err   int   返回   构造   

  • 在Java中,允许一个类的定义位于另一个类的内部,前者成为内部类,后者成为外部类。

  • Inner class一般用在定义他的类或语句块之外,在外部引用它时必须给出完整的名称,Inner class的名字不能与包含它的类名相同。

  • Inner class可以使用外部类的私有数据,因为他是外部类的成员,同一个类的成员之间可互相访问。而外部类要访问内部类中的成员需要:“内部类.成员”或者“内部类对象.成员”

  • 分类:  
  1. 成员内部类static成员内部类和非static成员内部类):作为成员,成员内部类可以有修饰符(4个),可以用static与final修饰,可以调用外部类的属性、方法;作为类,可以为abstract的,内部可以有属性、方法、构造器。
  2. 局部内部类不谈修饰符):使用场景通常为使一个方法返回某个类或接口的对象,而这个类或接口在方法内部创建。
  3. 匿名内部类

掌握三点:
  1. 如何创建成员内部类的对象
    1. ......
    2. Person.Stomach s = new Person.Stomach();//其中Stomach为Person类的静态成员内部类
    3. Person p = new Person();
    4. Person.Clothes c = p.new Clothes();//其中Clothes为Person类的非静态成员内部类
    5. ......

  2. 如何区分调用内、外部类的属性(尤其是变量重名时)
  3. 如何使用局部内部类
    1. ......
    2. public Comparable getComparable() {//返回实现Comparable接口的匿名内部类的对象
    3. return new Comparable() {
    4. @Override
    5. public int compareTo(Object o) {
    6. return 0;
    7. }
    8. };
    9. }
    10. ......

内部类

标签:data   rem   变量   允许   span   err   int   返回   构造   

原文地址:http://www.cnblogs.com/chendifan/p/6535610.html

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