关键字implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。实现一个接口,必须实现接口中的所有方法。使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔) 
还有几点需要注意: 
(1)接口可以被多重实现(implements),抽象类只能被单一继承(extends) 
(2)接口只有定义,抽象类可以有定义和实现 
(3)接口的字段定义默认为:public static final, 抽象类字段默认是”friendly”(本包可见)

举如下例子: 
定义两个接口Bread、Milk并(implements)单一实现

//定义Bread接口
public interface Bread{
  //定义一个方法吃面包(接口中没有具体的实现方法体)
  public void eatBread();
}

//Bread接口的实现类
public class BreadImpl implements Bread{
   //实现eatBread方法(接口的实现类中需要有具体的方法体)
   public void eatBread(){
     System.out.println("吃面包");
   }
}
public interface Milk{
  //定义一个方法喝牛奶
  public void drinkMilk();
}

//Bread接口的实现类
public class MilkImpl implements Milk{
   //实现eatBread方法(接口的实现类中需要有具体的方法体)
   public void drinkMilk(){
     System.out.println("喝牛奶");
   }
}
多重实现 依照上面定义的接口进行多重实现

public class Man implements Bread,Milk{
  //实现了Bread接口中eatBread方法
  public void eatBread(){
     System.out.println("吃面包");
   }
//实现了Milk接口中drinkMilk方法
  public void drinkMilk(){
     System.out.println("喝牛奶");
   }
}
这就是接口的多重实现了 
关于接口的作用: 
接口是软件编程的规范,可以降低耦合性,换句话说,可以让某个模块或功能能够重复利用,这样只要写这功能一次代码就ok了。其他地方要用到的,全部用接口调用来实现 
接口的优势: 
1 “接口+实现”最常见的优势就是实现类和接口分离,在更换实现类的时候,不用更换接口功能。 
2.这对于做单元测试也非常有帮助。

关键字extends,表示对父类的继承,可以实现父类,也可以调用父类初始化。而且会覆盖父类定义的变量或者函数。在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。 
类的继承格式

class 父类 {
}

class 子类 extends 父类 {
}
为什么需要继承 
接下来我们通过实例来说明这个需求。

开发动物类,其中动物分别为企鹅以及老鼠,要求如下:

企鹅:属性(姓名,id),方法(吃,睡,自我介绍) 
老鼠:属性(姓名,id),方法(吃,睡,自我介绍) 
企鹅类

public class Penguin { 
    private String name; 
    private int id; 
    public Penguin(String myName, int  myid) { 
        name = myName; 
        id = myid; 
    } 
    public void eat(){ 
        System.out.println(name+"正在吃"); 
    }
    public void sleep(){
        System.out.println(name+"正在睡");
    }
    public void introduction() { 
        System.out.println("大家好!我是"         + id + "号" + name + "."); 
    } 
}
老鼠类

public class Mouse { 
    private String name; 
    private int id; 
    public Mouse(String myName, int  myid) { 
        name = myName; 
        id = myid; 
    } 
    public void eat(){ 
        System.out.println(name+"正在吃"); 
    }
    public void sleep(){
        System.out.println(name+"正在睡");
    }
    public void introduction() { 
        System.out.println("大家好!我是"         + id + "号" + name + "."); 
    } 
}
从这两段代码可以看出来,代码存在重复了,导致后果就是代码量大且臃肿,而且维护性不高(维护性主要是后期需要修改的时候,就需要修改很多的代码,容易出错),所以要从根本上解决这两段代码的问题,就需要继承,将两段代码中相同的部分提取出来组成 一个父类: 
公共父类

public class Animal { 
    private String name;  
    private int id; 
    public Animal(String myName, int myid) { 
        name = myName; 
        id = myid;
    } 
    public void eat(){ 
        System.out.println(name+"正在吃"); 
    }
    public void sleep(){
        System.out.println(name+"正在睡");
    }
    public void introduction() { 
        System.out.println("大家好!我是"         + id + "号" + name + "."); 
    } 
}
这个Animal类就可以作为一个父类,然后企鹅类和老鼠类继承这个类之后,就具有父类当中的属性和方法,子类就不会存在重复的代码,维护性也提高,代码也更加简洁,提高代码的复用性(复用性主要是可以多次使用,不用再多次写同样的代码) 继承之后的代码: 
企鹅类

public class Penguin extends Animal { 
    public Penguin(String myName, int myid) { 
        super(myName, myid); 
    } 
}
老鼠类

public class Mouse extends Animal { 
    public Mouse(String myName, int myid) { 
        super(myName, myid); 
    } 
}
这里super 
在继承关系中,父类的成员变量、局部变量、方法被隐藏被子类常常覆盖,这时需要引用父类成员变量、局部变量、方法。 
super.变量名,super.方法名,super.父类的构造方法; 
这里还引入一个关键字this的用法 
如果类的成员变量与局部变量重名,类的成员变量将被隐藏,如果要使用类的成员变量,需要使用this引用之。 
this.变量名,this.方法名,this.父类的构造方法;

继承的特性 
1.子类拥有父类非private的属性,方法。 
2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。 
3.子类可以用自己的方式实现父类的方法。 
Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。 
4.提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。
--------------------- 
作者:大大老板01 
来源:CSDN 
原文:https://blog.csdn.net/weixin_39938767/article/details/80056922 
版权声明:本文为博主原创文章,转载请附上博文链接!

java继承(implements与extends)总结相关推荐

  1. Java继承 implements 与 extends 总结

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

  2. java之implements和extends

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

  3. java中this,super,extends,implements相关继承概念讲解

    在java中有关==继承==这个词有许多关键字:super,this,extends,implements      对于初学者来说着实比较晕,网上说的也是云里雾里.现在个人算是有些眉目了,来一次总结 ...

  4. Java implements和extends的区别

    Java implements和extends的区别 implements 关键字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 继承 冒号_java继承(extends)简单介绍

    继承相信很多人都有听说过,继承是面向对象的三个基本特征之一,下面的话就一起通过简单的文章来对java继承进行一下了解吧. 继承和现实生活中的"继承"的相似之处是保留一些父辈的特性, ...

  8. java 继承 extends_java中的继承 (extends) 详解

    继承(extends) 1. 父类与子类 父类也叫基类.超类  子类也叫派生类  在继承的而关系中,"子类就是一个父类".也就是说,子类可以被当做父类来看待.例如父类是员工,子类是 ...

  9. Java 继承详解(extends)

    文章目录 继承概述 继承的设计规范.内存运行原理 继承的特点 继承后:成员变量.成员方法的访问 继承后:方法重写 继承后:子类构造器的特点 继承后:子类构造器访问父类有参构造器 this.super使 ...

最新文章

  1. Python再获年度编程语言,微软或成最大赢家
  2. Linux中Iptable防火墙规则的应用
  3. linux ssh登录失败
  4. Android studio中正确引入so文件的方法
  5. hls.js播放hls直播源
  6. jenkins linux 配置文件,Jenkins 部署打包文件 并通过SSH上传到 linux服务器
  7. Angular Reactive Form 的一个具体使用例子
  8. 这些 JS 中强大的操作符,总有几个你没听说过
  9. 自定义鼠标指针轨迹_win10鼠标自定义颜色,鼠标属性设置,这样就不眯眼了
  10. JVM学习-分代收集算法
  11. 本地项目文件夹同步到GitLab的操作步骤
  12. vivado安装教程
  13. Eviews10.0下载与安装
  14. abb机器人编程指令goto指令_abb机器人编程指令——轨迹偏移使用的指令以及moveL指令...
  15. 多变量微积分笔记4——全微分与链式法则
  16. 【空间数据库】空间数据库引擎(Spatial DataBase Engine)ArcSDE详解
  17. 酷派系列手机root后怎么恢复文件
  18. 终于明白#!bin/sh是什么意思了
  19. 计算机应用基础18秋在线作业2奥鹏,奥鹏15春北航《计算机应用基础》在线作业2答案...
  20. 【MEC笔记-概述 】MEC

热门文章

  1. 2023-2-27读中华中医药学会主编《中医基本理论》
  2. 安装SQL2000数据库在Windows10出现 无法定位序数1于动态链接库
  3. 2014年专业技术人员计算机应用能力考试电子版教材,全国专业技术人员计算机应用能力考试教材- Windows XP模块...
  4. 100个线程同时向一个银行账户中存入1元钱
  5. Redis持久化策略
  6. 山东大学2018年操作系统试题
  7. webBrowser中操作网页元素全攻略
  8. 常用的SpringBoot时间格式化
  9. 重装Windows系统各问题汇总
  10. 【入门模拟】形状与转换