JAVA基础复习十-权限修饰符、匿名内部类

来源:互联网 发布:怎样装修淘宝店铺首页 编辑:程序博客网 时间:2024/05/16 12:21

一、权限修饰符

          本类/同一个包下(子类和无关类)/不同包下(子类)/不同包下(无关类)private     Y       默认         Y        Yprotected   Y       Y                   Ypublic      Y       Y                   Y               Y

二、成员内部类

1.成员内部类访问特点    * a:内部类可以直接访问外部类的成员,包括私有。    * b:外部类要访问内部类的成员,必须创建对象。    * 外部类名.内部类名 对象名 = 外部类对象.内部类对象;    * Outer.Inner i = new Outer().new Inner();2.成员内部类被private修饰:可以通过类中方法访问,在方法中获取内部类的对象,进行使用。3.静态成员内部类成员内部类被静态修饰后的访问方式是:* 外部类名.内部类名 对象名 = 外部类名.内部类对象;* Outer.Inner i = Outer.new Inner(); 然后要把new 写在前面:* Outer.Inner i = new Outer.Inner();

三、局部内部类中的匿名内部类

写在方法中的内部类,直接定义无意义。直接讨论匿名内部类,匿名内部类是属于局部内部类的一种。匿名内部类:前提:存在一个类或者接口(普通类也可以,但是没有意义,一般是抽象类和接口,里面都有抽象方法,匿名内部类重写抽象方法,然后将自己当做参数传递,用父类引用接收,在需要的地方用父类引用调用抽象方法,运行时会执行匿名内部类中重写的具体的抽象方法。)* 这里的类可以是具体类也可以是抽象类。    new 类名或者接口名(){        重写方法;    }***匿名内部类就是一个继承了该类或者实现了该接口的子类的对象,只是没有名字。理解匿名内部类的时候,可以认为它就是继承该类或实现该接口的子类,然后重写了这个类或接口里面的抽象方法。然后自己整个就是该类子类的对象,作为参数传递,被父类引用所接收,在父类引用调用该方法时,执行自己重写的方法(多态中的,对于成员方法编译看左边,执行看右边。左边是父类引用,有这个抽象方法,所以编译时不报错,右边是子类对象,调用子类重写的这个抽象方法,执行里面的具体操作)。
阅读全文
0 0
原创粉丝点击