抽象类和接口

前言


叙述

抽象类

是什么

what :抽象多个具体类

特点
  • 抽象-方法只包含方法声明
  • 抽象类不能实例化
  • 有抽象方法,类一定是抽象类
  • 具体派生类必须覆盖基类抽象方法
  • 抽象派生类可以不覆盖
  • jdk1.8后可以包含静态方法

    


接口

是什么

官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
我的解释:是一组行为规范,是对行为的抽象

特点

不能被实例化
接口只能包含方法声明
接口的成员包括方法,属性,索引器,时间
接口中不能包含常量,字段,构造函数,析构函数(和构造函数作用相反),静态成员
方法都是public abstract成员变量都是 public static final

接口和抽象类的区别

抽象类有构造方法,接口没有
抽象类可以有普通成员变量,接口没有
抽象类可以包含静态方法,接口不能
一个类可以实现多个接口,但只能继承一个抽象类
接口可以被多重实现,抽象类只能憋单一继承
接口是对行为的抽象,抽象类是对类的抽象

抽象类和接口的相同点

都可以被继承
都不能被实例化
都可以包含方法声明
派生类必须实现为实现的方法
都可以包含静态成员变量

抽象类和接口的使用场景

行为跨域不同对象,可用接口;相似的类对象,使用抽象类
抽象类是从子类发现公共的东西,接口不知道子类的存在

衍生

析构函数:
what:释放对象资源,和构造函数相反,C++ ~
when:当对象生命结束,自动知悉析构函数
函数中定义对象,函数调用结束时,自动调用析构函数
static局部对象在main函数结束或调用exit,调用析构函数
全局对象如上
new 建立对象后,用delete 释放对象资源


黑色背景

小结

感谢您的阅读~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值