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之旅——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展