面向对象复习

面向对象内存

static abstract 权限修饰符、只能修饰成员。静态不能修饰类(内部类除外)

  • static

    调用方法:类名调用,类名不能直接访问非静态,生命周期问题,静态方法中不能使用this和super。this和super跟随对象进入堆内存,静态数据和方法存在元数据中。

    数据变成共享数据,所有对象共享

    内存跟随class文件,和对象没有关系

    静态和多态性无关。静态和对象没有关系。在内存中静态成员跟随class文件,比对象早进入内存。

  • final

    修饰变量,只能做一次等于(赋值),是定值,不能修改。

    修饰类,不能继承。

    修饰方法,不能重写。

    final是编译特效,class中不会出现该关键字。

  • 匿名内部类

    简化接口实现类,或简化子类继承父类

    格式:new 父类或接口(){抽象方法重写}