Java中的抽象类以及final关键字

抽象类

  • 抽象类和普通类没什么大的差异,抽象类不能被实例化,必须用abstarct修饰,权限修饰符只能是public/protected类型;如果不写权限修饰符,则它默认就是public类型的。

  • 抽象类必须被继承才能实例化,所以它不能被final修饰。因为被final修饰的类不能被继承,被final修饰的方法不能被重写。

  • 抽象类被继承时,子类要重写父类的抽象方法,否则也只能将子类定义为抽象类。

public abstact void getA();

  • 抽象类体现的是模板思想,在抽象类中已经实现了的成员就是模板。

final

  • final:表示最终的,可以修饰类、方法、属性
  • 修饰变量,有且仅能被赋值一次。:修饰静态成员变量,修饰实例成员变量,修饰局部变量
    • final修饰静态成员变量可以在哪些地方赋值一次:
      1.定义的时候赋值一次。
      2.可以在静态代码块中赋值一次。
    • final修饰实例成员变量可以在哪些地方赋值1次:
      1.定义的时候赋值一次。
      2.可以在实例代码块中赋值一次。
      3.可以在每个构造器中赋值一次。
    • final修饰局部变量
      1.定义的时候赋值一次。
      2.可以在局部代码块(方法体)中赋值一次。
posted @ 2022-09-27 15:12  pzistart  阅读(123)  评论(0编辑  收藏  举报