内部类

1.定义:定义在另一个类内部的类叫内部类。

2.分类:成员内部类和局部内部类

   注:内部类生成的class文件名字为外部类$内部类

3.成员内部类的访问方式

     a.内部类可以直接访问外部类的成员属性

     b.外部类可以通过成员方法访问内部类的成员属性

          注意:1.在外部类访问内部类时,需要在外部类的成员函数中创建一个内部类的对象,才可以访问内部类的成员属性

                      2.在其他类中需要访问内部类的属性时需要创建一个内部类的对象   Outer.Inner inner = new Outer().new Inner();

4.优势:内部类作为外部类成员可以访问任意的外部类的成员变量;

5.私有的成员内部类只对外部内可见,其他类不能访问

6.如果内部内中含有静态的成员变量,那么内部类必须声明为静态的

   访问的形式为:Outer.Inner inner = new Outer.Inner();

7.
class Outer {
    int x = 20;
    class Inner {
        int x = 200;
        public void print(){
            System.out.println("成员变量为"+Outer.this.x);
        }
    }
}


public class Test01 {
    public static void main(String[] args) {
        Outer.Inner inner = new Outer().new Inner();
        inner.print();
    }
}

类名.this可以访问当前的类的this对象


========================================================================================

局部内部类

1.定义:定义在外部类成员函数内部的类称为局部内部类;

2.访问方式:在外部类的成员函数中,创建一个内部类对象,访问内部类的属性和方法

3.局部内部类只能访问所在函数中final修饰的常量


匿名内部类

1.定义:没有类名的内部类

2.实现方式:继承一个类或者实现一个接口

3.格式:new 类名(){

}

阅读更多
文章标签: 内部类
个人分类: Java基础
想对作者说点什么? 我来说一句

Java内部类(DOC)

2009年10月21日 57KB 下载

corejava异常和内部类.pdf

2009年06月09日 223KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭