java关键字final和抽象类

Posted 天赋不够努力来凑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java关键字final和抽象类相关的知识,希望对你有一定的参考价值。

一、final关键字

  • final可以修饰类,表示该类不可被继承
  • final可以修饰属性,表示一个常量,并且必须赋值,可以直接赋值,或者在构造器和代码块中赋值
  • 如果修饰的是static属性,那么只能在定义时和静态代码块中赋值,因为静态final属性在类加载就要被赋值。
  • final可以修饰方法,表示不可被重写,但是可以继承的,如果一个类是final类,他的方法可以不用final修饰,因为类不能继承,同样方法也重写不了
  • final也可以修饰方法里的局部变量
  • final不能用来修饰构造函数
  • final可以与static一起用效率更高,不会导致类加载,比如类里有个静态属性,如果你想单纯地使用它,但是又不想加载类,就可以用final修饰这个属性。

二、抽象类

定义:当父类中的一些方法不知如何实现时,我们可以用abstract修饰这个方法,这个方法就叫抽象方法,该类叫抽象类。抽象类主要价值在于设计,好让子类继承去实现这个抽象类。
语法:
1、抽象类:【访问修饰符】abstract class 类名

2、抽象方法:【访问修饰符】abstract 返回类型 方法名();

==注意:抽象方法无方法体
细节:

  • 抽象类不能实例化
  • 抽象类可以没有抽象方法。但如果有抽象方法,类必须用abstract修饰成抽象类
  • 如果一个类继承了抽象类,那么它必须实现抽象方法,或者自己声明为抽象类。
  • 抽象方法不能用private、final、static修饰,这些关键字是与重写相违背的。

以上是关于java关键字final和抽象类的主要内容,如果未能解决你的问题,请参考以下文章

java接口与抽象类有啥区别?

java 抽象类和接口

java抽象类和接口

Java基础之抽象类与接口

Java--多态,抽象类和接口

java——抽象类