广告
返回顶部
首页 > 资讯 > 精选 >Java的继承有哪些特点
  • 926
分享到

Java的继承有哪些特点

2023-06-26 06:06:36 926人浏览 八月长安
摘要

本篇内容主要讲解“Java的继承有哪些特点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的继承有哪些特点”吧!继承:把多个类相同的内容提取到另外一个类中,然后使用关键字extends来实

本篇内容主要讲解“Java的继承有哪些特点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的继承有哪些特点”吧!

    继承:

    把多个类相同的内容提取到另外一个类中,然后使用关键字extends来实现继承

    继承的好处:

    提高了代码的复用性

    提高了代码的维护性 只需要修改父类的内容

    让类与类之间产生了继承关系,为了后面的多态做铺垫,要有继承才能做多态

    继承的坏处:

    类的耦合性增强了,一个父类改变了,子类也跟着改变

    只可以单个继承,不可以多个继承,可以多层继承,子继承父,父继承爷爷

    //可以多层继承class GrandFather{}class Father extends GrandFather{}class Son extends Father{}//不可以多个继承,比如class Son extends Father,Mother{}

    继承的特点:

    1.要想初始化子类 必须先初始化父类 ,先有父亲 才能有儿子

    子类只能继承父类的非私有的成员,

    可以通过下面的案例的代码和注释来理解

    class Father2{    int num = 20;    Father2(){        System.out.println("这是父亲的无参构造方法");    }    private void fun1(){        System.out.println(num);    }}class Son2 extends Father2 {    public void fun2() {        System.out.println(num);//        System.out.println(num2);//        子类不能继承父类的私有成员变量    }}public class ExtendsDemo2 {    public static void main(String[] args) {        Son2 son2 = new Son2();        son2.fun2();//父亲的构造方法也执行了,要想初始化子类,必须先初始化父类        //运行结果:这是父亲的无参构造方法,20        //son2.fun1();        //不可以访问父类的私有成员方法    }}

    子类不能继承父类的构造方法,构造方法是属于该类本身的,但是可以通过super关键字访问父类的构造方法,因为要想初始化子类,必须先初始化父类,是通过构造方法进行初始化的

    不要为了部分功能而使用继承,当两个类语法满足什么是什么,可以用继承,比如狗、猫、老虎都是动物。

    继承和成员变量之间的关系:

    a.当子类的成员变量和父类中的成员变量名字一样时,

    查找:1.先在方法的局部范围内进行查找,如果找到就返回

    如果在方法局部范围找不到,去本类成员位置(成员变量)上查找,如果找到就返回

    如果在成员位置上也找不到,去父类成员位置中查找,如果找到就返回

    如果在父类成员位置找不到,报错

    b.当子类的成员变量和父类的成员变量名字不一样:名字是谁就访问谁

    this关键字和super关键字的区别

    区别:this代表的是调用该类的当前对象 ,super代表的是父类存储空间的标识(父类的引用,可以操作父类的成员)

    使用方法:

    访问成员变量 this.成员变量访问的是本类中的成员变量,super.成员变量访问的是父类中的成员变量

    //用this和super关键字访问本类和父类中的成员变量class Father3{    int num= 10;}class  Son3 extends Father3{    int num = 20;    public void show(){        int num= 30;        System.out.println(num);        System.out.println(this.num);        System.out.println(super.num);    }}public class ExtendsDemo3 {    public static void main(String[] args) {        Son3 son3 = new Son3();        son3.show();    }}

    访问构造方法

    要想初始化子类,必选先初始化父类 ,因为子类会继承父类的数据,甚至可能会使用父类的

    数据,所以在子类初始化之前,一定会先完成父类的初始化

    注意: 每个子类的构造方法的第一句话默认是super()

    //这个案例执行出,会先访问父类的无参构造方法,再访问子类的带参构造方法class Father8 {    int age;    Father8() {        System.out.println("父类中的无参构造方法");    }    Father8(String s) {        System.out.println("这是父类带参数的构造方法" + s);    }}class Son8 extends Father8 {    Son8() {        System.out.println("子类的无参构造方法");    }    Son8(String s) {        System.out.println("子类带参数的构造方法" + s);    }}public class ExtendsDemo7 {    public static void main(String[] args) {        Son8 s1 = new Son8("小王");    }}

    上面这个案例执行结果,会先访问父类的无参构造方法,再访问子类的带参构造方法,因为在子类的无参构造方法里面有一个隐藏super();,会指引我们先访问父类的无参构造方法,如果我们要访问父类的带参构造方法,我们需要手写一个super(参数);来指引访问父类的带参构造方法。

    访问成员方法:this.成员方法(),super.成员方法()

    当子类的成员方法名与父类成员方法名不一样的时候,该调用谁就调用谁的

    当子类的成员方法名与父类成员方法名一样的时候,怎么办呢?(就近原则)
        1)现在本类中查找,如果有就调用,如果没有去父类中查找,
        2)如果父类中有方法,就调用父类的
        3)如果连父类中都没有要调用的方法名,报错,提示找不到方法。

    方法的重写:

    如果子类的方法声明和父类的方法声明一样,这样的现象叫方法的重写,重写现象是发生在继承的关系中的,子类和父类的方法声明一样,但是实现的结果不一样。比如:我在父类中书写一个study方法,输出“学习java”,在子类中也书写一个声明一样的study方法,输出“学习高等数学”,在这里虽然父类和子类的声明一样,但是我们最终的实现不一样,这就叫方法的重写。

    到此,相信大家对“Java的继承有哪些特点”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: Java的继承有哪些特点

    本文链接: https://www.lsjlt.com/news/307212.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Java的继承有哪些特点
      本篇内容主要讲解“Java的继承有哪些特点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的继承有哪些特点”吧!继承:把多个类相同的内容提取到另外一个类中,然后使用关键字extends来实...
      99+
      2023-06-26
    • PHP继承特点有哪些
      这篇文章主要介绍了PHP继承特点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  定义:PHP继承与其他纯面向对象(从设计之初就完全由面向对象思维支配)编程语...
      99+
      2023-06-06
    • java继承的优点有哪些
      java中继承的优点有:1.易维护性;1.易维护性;3.调理性;java中继承的优点有以下几点易维护性java中继承可以通过增强一致性来减少模块间的接口和界面,可以增加了程序的易维护性。复用性java中继承可以提供程序的复用功能,可以减小代...
      99+
      2022-10-22
    • Java多继承的优点有哪些
      Java不支持多继承,但是可以通过接口实现多继承的一些优点包括:1. 代码重用:通过多个接口可以在一个类中实现不同的功能,避免了代码...
      99+
      2023-09-14
      Java
    • Java继承的知识点有哪些
      今天小编给大家分享一下Java继承的知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。继承继承的介绍继承是java面...
      99+
      2023-06-29
    • python中继承有哪些特征
      这篇文章将为大家详细讲解有关python中继承有哪些特征,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发...
      99+
      2023-06-14
    • CSS继承的知识点有哪些
      本篇内容介绍了“CSS继承的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   属性的是否默...
      99+
      2022-10-19
    • JavaScript中继承的优缺点有哪些
      这篇文章给大家分享的是有关JavaScript中继承的优缺点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文讲解JavaScript各种继承方式和优缺点。但是注意:这篇文...
      99+
      2022-10-19
    • Java继承与重写的特点是什么
      本篇内容介绍了“Java继承与重写的特点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概念:继承是面向对象语法三大特征之一,继承可以降...
      99+
      2023-06-30
    • java实现继承的方式有哪些
      在Java中,实现继承的方式有以下几种:1. 类继承(单继承):一个子类只能继承一个父类。例如:class SubClass ext...
      99+
      2023-10-18
      java
    • java中不能继承的类有哪些?
      在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的。因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户继承时操作有误,很可能引入很多问题。为了防止用户对基本类进行相应的扩展,也体...
      99+
      2016-12-08
      java
    • java中不能继承的类有哪些
      在Java中,有以下几种情况下的类不能被继承:1. final类:final关键字修饰的类不能被继承,例如String、Intege...
      99+
      2023-10-12
      java
    • java的特点有哪些
      java的特点有:1.安全性;2.面向对象;3.简单性;4.分布式;5.平台无关性;java的特点有以下几点安全性java适用于网络或分布式环境,可以防范网络中的各种攻击。面向对象java是一种面向对象的语言,其对对象中的类、对象、继承、封...
      99+
      2022-10-06
    • java实现多继承的方法有哪些
      在Java中,一个类只能直接继承一个父类,因此无法直接实现多继承。不过,可以通过以下几种方式来模拟多继承的效果:1. 接口继承:类可...
      99+
      2023-10-11
      java
    • java派生和继承的区别有哪些
      Java中的派生和继承实际上指的是同一种概念,即通过使用extends关键字,一个类可以派生出另一个类,被派生出的类称为子类,派生出...
      99+
      2023-09-08
      java
    • java继承与聚合的区别有哪些
      Java中的继承和聚合都是实现代码重用的方式,但它们有一些区别。继承:1. 继承是通过创建一个类来继承另一个类的属性和方法。2. 子...
      99+
      2023-09-08
      java
    • Java超详细分析继承与重写的特点
      概念:继承是面向对象语法三大特征之一,继承可以降低代码的沉余度,提高编程的效率。通过继承子类可以随意调用父类中的某些属性与方法,一个子类只能继承一个父类,一个父类可以被多个子类继承。...
      99+
      2022-11-13
    • javascript继承的方法有哪些
      这篇文章将为大家详细讲解有关javascript继承的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript继承的6种方法:1、原型链继承,其重点是让新实例的原型等于父类的实例;2、...
      99+
      2023-06-14
    • javascript的继承方式有哪些
      这篇文章主要讲解了“javascript的继承方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript的继承方式有哪些”吧! ...
      99+
      2022-10-19
    • js继承的方式有哪些
      这篇文章主要介绍js继承的方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!原型链继承原型链继承是ECMAScript的主要继承方式。其基本思想就是通过原型继承多个引用类型的属性和方法。什么是原型链每个构造函数...
      99+
      2023-06-14
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作