Java中的final关键字和抽象类详解

 更新时间:2023年07月15日 09:37:03   作者:信橙则灵  
这篇文章主要介绍了Java中的final关键字和抽象类详解,当不希望 类被继承时,可以用final修饰比如不希望子类重写父类时,当不希望某个局部变量被修改时,对参数进行修饰,需要的朋友可以参考下

final关键字

可以修饰类、属性、方法和局部变量【参数】

使用场景

1、当不希望 类被继承时,可以用final修饰。比如不希望子类重写父类时。

2、当不希望子类重写父类的某个方法。注意:此时不能重写但能继承父类此方法使用。

3、当不希望类的某个属性的值被修改,可以使用final修饰。一般这种属性使用全大写命名。

4、当不希望某个局部变量被修改时,对参数进行修饰

使用细节

1、final 修饰的属性一般称之为常量,

2、final 修饰的属性在定义时,必须赋初始值,并且之后不能再修改。

  • 在定义属性的时候,进行赋值。
  • 在构造器中
  • 在代码块中

3、当 final 修饰的属性是静态的,则初始化的位置只能是:

  • 定义时
  • 在静态代码块中,注意不能在构造器中赋值了。

4、final 修饰的类不能继承,但是可以进行实例化

5、如果类不是final类,但是含有final方法,则该方法虽然不能重写,但仍能被继承。

6、一般如果类已经被final修饰了,则内部的方法就没必要使用final了

7、final 和 static 往往搭配对属性进行使用,效率更高,这样不会导致类加载,底层编译器对这种修饰进行了优化处理。

抽象类

当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法,这个方法就是抽象方法,此时需将该类用 abstract 来修饰,即抽象类。

一般,抽象类会被继承,在子类中实现父类中不能确定的方法。

抽象类的介绍

1、当使用 abstract 关键字来修饰一个类时,这个类就叫 抽象类

2、用 abstract 关键字来修饰一个方法时,这个方法就是抽象方法。注意:抽象方法是没有方法体的

3、抽象类的价值更多的是设计,是设计者设计好后,让子类继承并实现抽象方法。

4、抽象类,一般考官在问的时候,主要在框架和设计模式使用比较多。

抽象类的使用细节

1、抽象类是不能被实例化的, 但可以使用匿名内部类声明。

2、抽象类不一定要包含抽象方法。

3、一旦包含了抽象方法,则这个类必须声明为抽象类。

4、abstract 只能修饰类和方法,不能修饰属性和其他的。

5、如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为abstract类。

在这里插入图片描述

6、抽象方法不能使用private、final、和static来修饰,因为这些关键字的修饰,会影响子类的重写。

模版设计模式

需求:

1、有多个类,完成不同的任务job

2、要求能够得到各自完成任务的时间

到此这篇关于Java中的final关键字和抽象类详解的文章就介绍到这了,更多相关Java的final和抽象类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论