• day13 类的补充


    访问修饰符                          同包                          不同包

                      本类         子类         非子类        子类          非子类

    private         是            否             否            否              否

    默认             是            是             是            否              否

    protected     是            是             是            是              否

    public          是             是             是            是              是

    总结:set/get方法封装体现:

    1、可以只提供get或者set方法,把属性变为只读或者只写。

    2、get方法可以提供权限的验证,set方法可以提供数据的有效性效验。

    3、可以隐藏内部属性的存放形式。

    static关键字:

    1、凡是static修饰的,都与对象无关,都是类级别的。

    2、凡是static修饰的,都会在加载期有特殊处理。

    初始化块

    实例初始化块{}

    在new对象的时候,自动被执行,在第三步之前执行,即对属性进行自己构造操作的初始化之前。

    静态初始化块  static{}

    该代码块在加载类文件的时候就被执行,一个类只加载一次,所以静态初始化块也只执行一次。所以很多打开资源、开启链接的预加载动作可以写到静态初始化块中。

    类的高级属性:

    内部类:成员内部类(特例:静态内部类)、局部内部类(特例:匿名内部类)。

    所有的内部类都是一个独立的类,都拥有各自的属性、行为、构造等等。

    成员内部类:class文件:外部类类名$内部类类名.class

    1、位置:直接写在外部类当中。位置与属性、方法、构造等平行。

    2、可以有访问修饰符,代表该类能否被外部的类调用。

    3、不管是什么访问修饰符,本类(外部类)都可以访问使用。

    4、在外部使用成员内部类,首先产生外部类对象,然后用特殊语法对象.new的方式产生内部类对象。

    5、在外部使用静态内部类,可以用外部类类名.的方式直接访问操作,无需产生外部类对象。

    6、成员内部类调用外部类的属性和方法:Outclass.this.外部的属性和方法。

    7、静态内部类调用外部类的属性和方法:Outclass.外部的静态属性和方法。

    局部内部类:class文件:外部类类名$序号内部类类名.class

    1、位置:直接写在外部类的方法当中,其位置和局部变量平行。

    2、没有访问修饰符,只能在定义的外部类方法中使用。

    3、使用的时候直接产生局部内部类。

    4、局部内部类不能操作它所在方法的局部变量(非常特殊)。

    4——1形参(final int e)改变形参的形式可以在局部内部类中访问。

    4——2(int e){a=e;}a为成员变量,可以间接操作。

    5、匿名内部类的class文件:外部类类名$序号.class

    6、匿名内部类在产生对象的同时定义这个类,只能用一次。

    7、匿名内部类不能操作它所在方法的局部变量。(非常特殊)

    匿名内部类举例:

    new Object(){

    public void introduce(){

    System.out.println("***");

    }

    }.introduce;

  • 相关阅读:
    事件处理(三)
    事件处理(二)
    事件处理(一)
    布局管理器(一)
    基本控件(三)
    基本控件(二)
    基本控件使用(一)
    Activity与界面
    多态
    final关键字
  • 原文地址:https://www.cnblogs.com/fengshaolingyun/p/6139304.html
Copyright © 2020-2023  润新知