关闭

内部类

标签: 内部类
23人阅读 评论(0) 收藏 举报
分类:

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 类名(){

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23次
    • 积分:10
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档
    阅读排行
    评论排行