java最终类最终方法_Java 中, 什么是最终类与最终方法? 它们的作用是什么?

Java 中, 什么是最终类与最终方法? 它们的作用是什么?

final class A {}, 这样定义的类 A 就是最终类, 最终类不可被继承, 也就是说, 不能写这样的代码, class B extends A {} 了

final void B() {}, 这样定义的方法就是最终方法, 最终方法在子类中不可以被重写, 也就是说, 如果有个子类继承这个最终方法所在的类, 那么这个子类中就不能再出现 void B() {} 这样的方法了

-----------------------------------------------------------------------------

最终类中可以不包含最终方法, 包含最终方法的类可以是最终类也可以是非最终类

最终类有 final 修饰 , 不可以派生子类

-----------------------------------------------------------------------------

被 final 修饰的类不能被继承, 所以不能作为其他类的父类, 典型代表就是 String 类 String 类只能让你直接用

-----------------------------------------------------------------------------

final 可以修饰类方法变量

修饰类时: 意思是修饰类为最终类, 任何类不能再继承它

修改函数时: 意思是该方法在类里是最终方法, 继承该类的子类里面的方法不能去重写它

修饰变量时: 意思是被修饰的变量是常量或者叫终态变量, 一旦初始化后就不能再改变变量的值

来源: http://www.bubuko.com/infodetail-2502235.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,接口(interface)和抽象(abstract class)是用于实现抽象和多态性的机制。 接口是一种完全抽象的,它只包含方法声明而不包含方法的实现。接口方法默认是公共(public)和抽象(abstract)的,不需要使用关键字进行标识。可以实现一个或多个接口,并通过实现接口方法来提供具体的实现。接口可以被看作是一种合同,要求实现必须提供指定的方法。 抽象是一种不能被实例化的,它可以包含抽象方法和具体方法。抽象方法是没有实现的方法,需要在子被覆盖实现。抽象可以包含构造方法,字段和具体方法,但不能创建对象。子必须继承抽象并提供对抽象方法的具体实现。 区别: 1. 实现: - 接口:可以实现多个接口,通过关键字`implements`来实现接口。 - 抽象:子只能继承一个抽象,通过关键字`extends`来继承抽象。 2. 方法: - 接口:只能包含抽象方法,默认为公共和抽象的。在Java 8之后,接口可以包含默认方法和静态方法的具体实现。 - 抽象:可以包含抽象方法和具体方法,抽象方法需要在子被覆盖实现。 3. 构造函数: - 接口:不能包含构造函数。 - 抽象:可以包含构造函数。 4. 成员变量: - 接口:只能包含常量(被`final`修饰的变量),默认为公共、静态和最终的。 - 抽象:可以包含各种型的成员变量。 总结: 接口用于定义纯粹的抽象规范,强调"是什么";抽象用于定义具有某些共性的,并提供部分实现,强调"是什么以及如何"。接口更加灵活,可以实现多继承的效果,而抽象更适合用于共享一些通用的实现代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值