final关键字、抽象类和接口

本文深入解析Java中的final关键字使用,包括其在类、方法和成员变量上的限制与特性。同时,探讨抽象类与接口的概念,以及它们在面向对象编程中的作用和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.final关键字
当用final去修饰一个类的时候,表示这个类不能被继承。注意:a. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianl。b. final类中的成员方法都会被隐式的指定为final方法。
当用final去修饰一个方法的时候,被final修饰的方法不能被重写。
注意:
a. 一个类的private方法会隐式的被指定为final方法。
b. 如果父类中有final修饰的方法,那么子类不能去重写。
当用final去修饰一个成员变量的时候:
必须要赋初始值,而且是只能初始化一次。
被fianl修饰的成员变量赋值,有两种方式:1、直接赋值 2、全部在构造方法中赋初值。
如果修饰的成员变量是基本类型,则表示这个变量的值不能改变。如果修饰的成员变量是一个引用类型,则是说这个引用的地址的值不能修改,但是这个引用所指向的对象里面的内容还是可以改变的。

类的加载顺序:初始化顺序依次是:(静态变量、静态初始化块)–>(变量、初始化块)–> 构造器;
如果有父类,则顺序是:父类static方法 –> 子类static方法 –> 父类构造方法- -> 子类构造方法

2.抽象类

  • @author wawjy

  • 1:抽象类中只能包含抽象方法吗?

  • 既可以定义抽象方法也可以定义普通方法

  • 2:是否可以定义构造器

  • 抽象类可以存在构造器但是无法实例化

  • 抽象类中的构造器是给子类准备的

  • 抽象类就是用来被继承的 抽象方法就是被重写的

  • 3:子类继承了抽象了之后一定要重写所有的抽象方法

    抽象类是一个模板,能够避免子类的随意设计

3.接口
接口是一个规范,是一套标准,比抽象类还抽象。
接口的定义:修饰符 interface 接口名{}
接口中的变量都是公开定义的常量
接口和类之间用implement实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值