JAVA中extends 与implements有啥区别?
1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一个或者多个接口。
extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用
2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了
比如
class A extends B implements C,D,E

===========================================================

===========================================================
extends与implements的不同

extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重 继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了
比如
class A extends B implements C,D,E

//
   一个类通过关键字implements声明自己使用一个或者多个接口。在类的声明中,通过关键字extends来创建一个类的子类。
class 子类名 extends 父类名 implenments 接口名
{...

}

implements 也是实现父类和子类之间继承关系的关键字,如类 A 继承 类 B 写成 class A implements B{}.
implements是一个类实现一个接口用的关键字,他是用来实现接口中定义的抽象方法。比如:people是一个接口,他里面有say这个方法。public interface people(){ public say();}但是接口没有方法体。只能通过一个具体的类去实现其中的方法体。比如chinese这个类,就实现了people这个接口。 public class chinese implements people{ public say() {System.out.println("你好!");}}
接口实现的注意点:
a.实现一个接口就是要实现该接口的所有的方法(抽象类除外)。
b.接口中的方法都是抽象的。
c.多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口。
extends与implements的不同
extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。这样的好处是:架构师定义好接口,让工程师实现就可以了。整个项目开发效率和开发成本大大降低。
JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了。实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。 
格式:
class A extends B implements C,D,E
一个类通过关键字implements声明自己使用一个或者多个接口。在类的声明中,通过关键字extends来创建一个类的子类。 
class 子类名 extends 父类名 implenments 接口名 
{...
}
若同时用到 extends 和 implements 的时候,extends 必须放在 implements 关键字之前。
例子:
这里有一个游戏,人猿泰山。 主角是一个单独的类,这里我们主要用怪物说明接口的用法: 怪物有很多种, 按地域分:有的在天上飞,有的在地上跑,有的在水里游 按攻击方式分:有的能近距离物理攻击,有的能远距离射击 
假设游戏里需要这样的几 种怪—— 
野狗:地上移动,近距离攻击 
黑熊:地上移动,近/远距离攻击 
秃鹫:地上/天上移动,远距离攻击 
食人鱼: 水中移动,近距离攻击 
鳄鱼:地上/水中移动,近距离攻击 
显然,如果我们将每一种怪物定义为一个类,那就不是面向对象的程序开 发了,我们应当使用接口: 
interface OnEarth{//陆地接口 
int earthSpeed;//陆地移动速度 
void earthMove();//陆地移动方法 
interface OnWater{//水中接口 
int waterSpeed;//水中移动速度 
void waterMove();//水中移动方法 
interface OnAir{//空中接口 
int airSpeed;//水中移动速度 
void airMove();//水中移动方法 
interface NearAttack{//近距离攻击接口 
int nearAttackPower;//近距离攻击力 
void nearAttack();//近距离攻击方法 
interface FarAttack{//远距离攻击接口 
int farAttackPower;//远距离攻击力 
void farAttack();//远距离攻击方法 
这样一来,根据需求,我们可以选择性的继承接口: 
class Tyke implements OnEarth, NearAttack{//野狗类 
void earthMove(){//实现继承的方法1 
void nearAttack(){//实现继承的方法2 
class BlackBear implements OnEarth, NearAttack, FarAttack{//黑熊类 
void earthMove(){//实现继承的方法1 
void nearAttack(){//实现继承的方法2 
void farAttack(){//实现继承的方法3 
class Vulture implements OnEarth, OnAir, FarAttack{//秃鹫类 
void earthMove(){//实现继承的方法1 
void airMove(){//实现继承的方法2 
void farAttack(){//实现继承的方法3 
class ManeatFish implements OnWater, NearAttack{//食人鱼类 
void waterMove(){//实现继承的方法1 
void nearAttack(){//实现继承的方法2 
class Crocodile implements OnEarth, OnWater, NearAttack{//鳄鱼类 
void earthMove(){//实现继承的方法1 
void waterMove(){//实现继承的方法2 
void nearAttack(){//实现继承的方法3 

Java之implements相关推荐

  1. JAVA中implements实现多接口

    JAVA中implements实现多接口 这里有一个游戏,人猿泰山. 主角是一个单独的类,这里我们主要用怪物说明接口的用法: 怪物有很多种, 按地域分:有的在天上飞,有的在地上跑,有的在水里游 按攻击 ...

  2. java中implements是什么意思_java中implements和Interface的不同是什么?

    implements是一个类实现一个接口用的关键字,是用来实现接口中定义的抽象方法. 比如:people是一个接口,里面有say这个方法. public interface people(){ pub ...

  3. Java继承 implements 与 extends 总结

    关键字implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法.实现一个接口,必须实现接口中的所有方法.使用 implements 关键字可以变相的使java具有多继承的 ...

  4. java中implements是什么意思_java中extends与implements区别

    继承和接口两者间的区别有多种解释,相信有少部分初步了解的时候有些困惑,在这里发表了个人理解的解释,如果你能看得懂那就更好了,你已经是大神了请忽略这篇理解不完整的解释吧! 首先,看看他两个概念,跟其随后 ...

  5. java中implements是什么意思_Java中implements和extends的区别

    看到java中很多类有使用implements和extends,那么这两种用法有哪些区别呢,今天我们来分析一下. 简单说:1.extends是继承父类,只要那个类不是声明为final或者那个类定义为a ...

  6. java中implements是什么意思_Java:extends和implements的区别+用法

    Java代码中的extends和implements让我感到很迷惑,现在终于弄明白它们之间的区别和用法了. //定义一个Runner接口 public inerface Runner { int ID ...

  7. java之implements和extends

    implements implements是一个类实现一个接口的关键字 使用该关键字可以实现接口中定义的抽象方法 语法如下: class A implements B{} 继承是面向对象的三大特性之一 ...

  8. java中implements

    抽象类与接口的区别 了解implements与extends的区别 Java不支持extends的多重继承,但是可以通过implements接口实现比多重继承更强的功能. 一个类还可以有多个接口,接口 ...

  9. JAVA中implements的用法

    implements使用 interface Sport { void run(); void jump(); } class Athlete implements Sport { public vo ...

最新文章

  1. python建模仿真报告_Python|数学建模|排队论仿真
  2. spring boot:创建一个简单的web(maven web project)
  3. Spring Boot2 整合 Shiro ,两种方式全总结!
  4. package.json说明
  5. 阿里、华为、美团,大厂面试算法题,这些你会吗?
  6. 2017年计算机基础知识答题宝典,最全全国计算机基础知识试题及答案考级宝典(2018)..pdf...
  7. RN-android 打包后,部分图片不显示
  8. 【Flink】FLink 提交报错 instead of minReplication (=1). There are 3 datanode(s) running and 3 node(s) are
  9. python中的yield使用详解
  10. go 协程回调函数 传入参数_ECMAScript 6 入门教程—Generator 函数的异步应用
  11. python基本代码教程-Python基础
  12. 从零实现深度学习框架——N-Gram语言模型(二)
  13. [转]C#加密解密源码
  14. 情感分析入门[2]-一些数学工具
  15. adb工具的下载及配置
  16. Centos7下cobbler(补鞋匠)安装部署全过程
  17. 海南化学分析实验室设计工艺归纳
  18. 论“女生不适合当程序员”
  19. java中定义变量名时大写_,【Java】变量命名规范
  20. 【loj2639】[Tjoi2017]不勤劳的图书管理员

热门文章

  1. 使用alist将云盘映射为WebDAV
  2. 从员工到总监,你要明白的8个道理
  3. canvas 画柱状图
  4. java下载整个文件夹_Java下载目录中的所有文件和文件夹
  5. 【跟晓月学数据库】基于book库的mysql进阶实战
  6. 算法分析与设计 二分查找
  7. 老鱼Python数据分析——篇二:系统设计(找代理IP)
  8. 蛋花花浅谈人工智能主要应用于哪些方面
  9. Apache-ant的下载和安装
  10. 关于“文件或目录损坏且无法读取” 的 CHKDSK 修复方法