首页 > 编程语言 >Java 继承解决了编程中的什么问题

Java 继承解决了编程中的什么问题

时间:2022-12-14 17:44:26浏览次数:51  
标签:Java 继承 void 编程 System println public out

Java 继承解决了编程中的什么问题 ?

Java继承产生的背景?

继承产生的原因:在一个项目中多个类具有很多相同的代码段,代码多了不仅仅容易出错,在需要系统升级的时候各个相同的代码段都需要修改,所以产生了“继承”。用下面的例子来解释我这段话。

 

//注意:都是public类型的类,这两个类不在一个文件中
//第一个类
public class Dog{
    public int age;
    public String  name;
    public void eat(){
    System.out.println("开始吃饭!");
    }
    public void Cry(){
    System.out.println("汪汪!");
    }
}
//第二个类
public class Cat{
    public int age;
    public String  name;
    public void eat(){
    System.out.println("开始吃饭!");
    }
    public void Cry(){
    System.out.println("喵喵!");
    }
}

 

从代码中可以简单的看出,Dog类和Cat类,有很多相同的代码块,所以这里就可以用“继承”了。
用继承后修改的代码如下:

 

 

//此三个类也不在同一个文件
//第一个类(父类或基类)
public class animals{    
    public int age;
    public String  name;
    public void eat(){
    System.out.println("开始吃饭!");
    }
    public void Cry(){
    System.out.println("叫声!");
    }
}
//第二个类狗狗类
public class Dog extends animals{    
    public void Cry(){
    System.out.println("汪汪!");
    }
}
//第三个类猫猫类
public class Cat extends animals{    
    public void Cry(){
    System.out.println("喵喵!");
    }
}

 

被继承的父类是狗狗类和猫猫类共同的代码,这样看是不是就好多了,重复的代码只写了一次通过extends关键字继承父类,每个类就都可以使用父类中的东西了,是不是对继承有了一些理解了。
子类继承了父类的属性和方法,子类特有的方法覆盖就行(这里先不解释覆盖)
注意:此案例没有写构造方法等,代码只是为了简单明了的解释关于继承的一些问题。

 

标签:Java,继承,void,编程,System,println,public,out
From: https://www.cnblogs.com/xiedy001/p/16982793.html

相关文章

  • django模板之标签、继承、模型层之ORM常用关键字
    目录模板层之标签自定义过滤器、标签及inclusion_tag(了解)模板的继承与导入(重要)模型层之前期准备ORM常用关键字(重要)nullnull模板层之标签 {%if条件1(可以自己写也可以用......
  • 狂神说 javaweb
    javaweb1、基本概念web开发:web静态web动态web淘宝,不断变化技术栈:Servlet/JSPASPPHP1.2、web应用程序web应用程序:可以提供浏览器访问的程序能访问的任何页面都存在于世......
  • Java: 在Excel中插入和提取图片
    在编辑Excel文档时,为了丰富文档内容或者更好地说明文档内容,有时我们会在单元格中插入图片。此外,整理文档内容时,也可以通过编程的方式将图片从Excel中提取出来。接下来我就......
  • JavaScript内存中的一些形状的读书笔记
    原文地址:http://zoo.zhengcaiyun.cn/blog/article/code-shapeundefined和null不同的原因undefined是栈空间中表示未定义含义的一块特殊的固定的内存区域null是堆内存......
  • 网络编程-2022-12-14
    一、网络编程基础TCPUDP编程    TCP英文叫TransmissionControlProtocol,中文叫传输控制协议,它其实就是一种网络传输协议。1、计算机网络:多台计算机地理位置不......
  • Javascript学习
    目录js引入的三种方式js基础语法数组遍历的方法es6中的箭头函数js使用的中的注意点js变量声明的三种方式js引入的三种方式<!DOCTYPEhtml><html> <head> <metachars......
  • 【Java】Java 中实现深拷贝
    浅拷贝和深拷贝浅拷贝:只复制一层,如果对象的属性是引用数据类型,只会复制属性内存地址。深拷贝:不只复制一层,如果对象属性是引用数据类型,会继续向下进行复制。深拷贝的实......
  • Java继承详解
    继承的定义、功能及要求定义:class子类extends父类{}通常也称子类为派生类、父类为超类。功能: 继承的主要目的是使子类可以重用父类的结构,也可以根据子类功能的需......
  • 基于Java+Swing实现俄罗斯方块游戏
    @目录一、系统介绍二、功能展示三、其他系统四、获取源码一、系统介绍俄罗斯方块项目,基本功能包括:游戏主界面显示模块、方块及数据显示模块、方块移动控制模块、游戏界面......
  • 基于Java+Swing实现连连看游戏
    @目录一、系统介绍二、功能展示三、其它1.其他系统实现五.获取源码一、系统介绍基本功能包括:消除模块,重新开始模块,刷新模块,选择难度模块,计时模块。本系统结构如下:(1)消除......