JAVA语言中“继承”的解释及使用

简介: JAVA语言中“继承”的解释及使用

前言

      一说到继承,往往想到,子嗣继承长辈的家产。长辈的家产一分不少的继承给子嗣,子嗣又有额外的财富,额外的财富变成了家产的一部分,就这样一代代的继承,家族的财富越滚越大。java中“继承”的使用也是一样的。

一、继承是什么?

       继承,是一种类与类之间的传承关系,父类的属性和方法都会传承给子类,子类可以直接调用,根据需要,补充新的属性和方法,或者复写父类的属性和方法。

       父类:类似于父亲的存在。                子类:类似于儿子的存在。

       复写:指在子类中更改父类的属性和方法(父类中使用,仍是未更改的属性方法,但从子类开始,调用的都是更改过的)

//子类:我做了一个违背祖宗的决定

 注:一个子类只继承一个父类的属性和方法,吕布认贼作父的手段在java中是不适用的。

只能B类继承A类,C类继承B类,像一个家族一样,世世代代继承下来。

二、使用方法

1.关键字

       (1)extends 关键字:子类继承父类的属性和方法

                       语法: Chlid extends Parents

public class Child extends Parents{    
    //Child类继承Parents类的属性和方法
    ......
}

 (2)super 关键字:解决子类复写父类方法,无法调用父类本有方法的问题

                       语法:super.property;        //调用父类原本属性

                                  super.method();      //调用父类原本方法

public class Child extends Parents{
    super();    //调用父类的全部方法
    super.action();    //调用了父类某个方法
    super.attribute;   //调用了父类某个属性
}

2.实操展示

      情景展示:企业A,生产了台式电脑,做好了出厂化代码,随着企业的做大,开拓了ipad产品,ipad出厂化代码,需要在电脑初始化代码的基础上,进行额外的删改。

               台式电脑的出厂化代码:

import java.util.Scanner;
public class computer {
  Scanner sc=new Scanner(System.in);
  String ip="ip属地:河北";
  //父类属性
  void startUp() {
    System.out.println("电脑正在开机,请稍等...");
    //父类成员方法
  }
  void openMachine() {
    System.out.println("请输入ping:");
    int ping=sc.nextInt();
    if(ping==888888) {
      System.out.println(sayHellow());
      //输出sayHellow()方法的返回值
    }else {
      System.out.println("密码错误,请重新输入");
      openMachine();
            //继续运行openMachine()方法
    }
    //父类成员方法
  }
  String sayHellow() {
    return "Welcome";   
    //父类成员方法
  }
  public static void main(String[] args) {
    computer c=new computer();
    c.startUp();
    System.out.println(c.ip);
    c.openMachine();
  }
}

输出结果:

 

   ipad的出厂化代码(继承了台式电脑的代码)

public class ipad extends computer{
   String electricQuantity="电量:20%";
   //根据实际需要,补充子类的属性
   void open5G() {
     System.out.println("提醒:已连接5G网络");
     //根据业务需要,补充子类的方法
   }
   void startUp() {
     System.out.println("ipad正在开机,请等待...");
     //复写computer父类的startUp方法
   }
   String sayHellow() {
     return super.sayHellow()+" to use ipad.";
     //调用父类原本方法,并加以改造
   }
   public static void main(String[] args) {
    ipad i=new ipad();
    i.startUp();
    //调用子类改写完父类的方法
    System.out.println(i.ip);
    //调用父类的属性
    System.out.println(i.electricQuantity);
    //调用子类的属性
    i.openMachine();
    //调用父类的方法,并且运行中的sayHellow()方法是子类改造后的方法
    i.open5G();
    //调用子类额外需要的方法
  }
}

输出结果:


总结

       以上就是本文讲的内容,本文简单介绍了继承的含义,extends关键字方便了我们快速便捷地处理类与类之间的代码调用,极大减轻了重复造轮子的压力。

相关文章
|
2月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
108 4
|
2月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
244 18
|
3月前
|
存储 Java Apache
Java语言操作INI配置文件策略
以上步骤展示了基本策略,在实际项目中可能需要根据具体需求进行调整优化。例如,在多线程环境中操作同一份配置时需要考虑线程安全问题;大型项目可能还需考虑性能问题等等。
178 15
|
4月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
405 0
|
4月前
|
JSON Java API
【干货满满】分享拼多多API接口到手价,用Java语言实现
本方案基于 Java 实现调用拼多多开放平台商品详情 API,通过联盟接口获取商品到手价(含拼团折扣与优惠券),包含签名生成、HTTP 请求及响应解析逻辑,适用于电商比价、导购系统集成。
|
4月前
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
4月前
|
JSON Java API
【干货满满】分享淘宝API接口到手价,用Java语言实现
本文介绍了如何使用 Java 调用淘宝开放平台 API 获取商品到手价,涵盖依赖配置、签名生成、HTTP 请求与响应解析等核心实现步骤。
|
5月前
|
JavaScript Java Go
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
349 0
|
5月前
|
JSON JavaScript 前端开发
Python+JAVA+PHP语言,苏宁商品详情API
调用苏宁商品详情API,可通过HTTP/HTTPS发送请求并解析响应数据,支持多种编程语言,如JavaScript、Java、PHP、C#、Ruby等。核心步骤包括构造请求URL、发送GET/POST请求及解析JSON/XML响应。不同语言示例展示了如何获取商品名称与价格等信息,实际使用时请参考苏宁开放平台最新文档以确保兼容性。