java 抽象类和最终类

抽象类

一、概念

类的声明中有abstract关键字的类称为抽象类,不能被实例化。没有abstract关键字修饰的类称为具体类,具体类可以实例化。

二、用途

在程序设计中,抽象类常用于对某些类进行概括和抽象,即抽象类定义其子类共有的属性和方法,以免子类重复定义。也就是说,抽象类主要用于定义为若干个功能类同的类的父类。

三、特点

  1. 不能new创建抽象类的实例。
  2. 与具体类相同的是,类中可以有成员变量和成员方法,包括构造方法,但与具体类不同的是,抽象类中可以定义抽象方法。
  3. 抽象方法只能出现在抽象类中,但抽象类中可以没有抽象方法。
  4. 抽象类中的所有抽象方法必须在其非抽象子类中加以实现,否则子类也必须声明为抽象类。
  5. 一个抽象类可以是public、private、protected、default,接口只有public;

四、抽象方法

类的成员方法中声明有abstract关键字修饰的方法称为抽象方法。抽象方法用来描述系统的功能或者规范某些操作。没有abstract关键字修饰的方法称为具体方法,具体方法必须有方法体。
注意:

  1. 构造方法不能被声明为抽象的
  2. abstract和static不能同时存在,即不能有abstract static 方法。
  3. 任何包含抽象方法的类必须被声明为抽象类
  4. 一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default。

最终类

一、概念

最终类是指不能被继承的类,即不能再用最终类派生子类。在Java语言中,如果不希望某类被继承,可以声明这个类为最终类。最终类用关键字final来说明。

public final class FinalClass{
    //...
}

二、特点

  1. 最终类中的方法都自动成为final方法。
  2. 一个类不能既是最终类又是抽象类,即关键字abstract和final不能合用。
  3. 最终类不能被继承,最终方法可以被继承,但是不能被重写。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值