Java基础【抽象类和接口】

上一篇文章【Java基础继承与多态】
安卓逆向交流学习:342647370
VX:yijin1108an

抽象类和接口

1.1 抽象类概念和作用

1.抽象:
抽象是把多个事物共性的内容抽取出来,本质就是把我们关注的内容抽取出来。比如:宝马、奔驰都属于汽车,汽车是抽象出来的概念。
2.抽象类:
Java中可以定义没有方法体的方法,该方法由其子类来实现。把没有方法体的方法称之为抽象方法,含有抽象方法的类称之为抽象类,可以理解为看不懂的类。
3.抽象方法的特点:
(1)只有方法头没有方法体的方法称为抽象方法。
(2)抽象方法用abstract来修饰。
(3)抽象方法代表一种不确定的操作或行为。
(4)抽象方法不能被调用。
4.抽象类特点:
(1)定义中含有抽象方法的类叫做抽象类。
(2)抽象类用abstract来修饰。
(3)抽象类代表一种抽象的对象类型。
(4)抽象类不能实例化,也就是不能被new出来。
(5)抽象类中可以有具体方法,可以没有抽象方法。
例如:
//A是一个抽象类
public abstract class A { public void methodA(){}
//methodB是一个抽象方法public abstract void methodB();}
5.案例,如下所示:
在这里插入图片描述
在这里插入图片描述
发现报错,这是因为抽象类不能被实例化,在Java中我们可以通过继承去访问父类的成员。
在这里插入图片描述
在这里插入图片描述
结果:
在这里插入图片描述
1.2 接口的概念和作用

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。接口无法被实例化,但是可以被实现。
1.接口声明的语法格式:
interface 接口名{
//静态常量、抽象方法
}
2.接口的特点:
(1)接口中只能存放静态常量和抽象方法。
(2)Java接口是对功能的扩展。
(3)通过实现接口,Java类可以实现多实现。
(4)一个类可以同时继承(extends)一个父类并且实现(implements)多个接口。
(5)接口与接口之间可以通过使用extends来产生继承关系。
3.实现接口语法格式:
…implements 接口名称[,其他接口名称, …]…
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。类使用implements关键字实现接口。在类声明中,Implements关键字放class声明后面。接口同样不能被实例化。
4.案例,如下所示:
在这里插入图片描述
在这里插入图片描述
结果:教Java去旅行。

1.3 接口与抽象类的区别

1.抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。
2.抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
3. 继承是一个“是不是”的关系,而接口实现则是“有没有”的关系。如果一个类继承了某个抽象类,则子类必定是抽象类的种类,而接口实现则是有没有、具备不具备的关系。
4.接口只给出方法的声明,不给出方法的实现。抽象类中可以有抽象方法的一般方法。如果是抽象方法的话,只有方法的声明。如果是一般方法的话,既有方法的声明,也有方法的实现。

小结
通过对的学习,我们了解了抽象方法,它不能有方法的实现,要在子类中去实现,而抽象类作为一个特殊的类,它一个类中如果包含有抽象方法,则此类必须是抽象类;但一个抽象类不一定包含抽象方法。同时抽象类不能实例化;一个类可以继承抽象类,普通类继承抽象类,必须实现所有的抽象方法、而抽象类继承抽象类,则没要求。
最后我们还学习了接口:interface,它与类平级,由静态常量,普通的抽象方法[公开的]组成,同时接口也可以理解为一种特殊的抽象类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值