首页 > 其他分享 >多态和继承

多态和继承

时间:2024-10-09 17:46:14浏览次数:1  
标签:变量 构造方法 继承 子类 成员 多态 父类 super

继承:通常意思就是儿子可以继承父亲的东西,在java里面也是一样的,当我们在同一个包内有多个类的成员变量/方法相同时可以使用继承,只可以在子非静态方法使用

 

继承就是把相同的成员变量/成员方法放在一个类中,然后使用extends这个关键字来让一个类来继承另一类从而达到代码的复用的作用,子类写在extends的左边,父类写在extends的右边,静态成员变量/方法不可以使用继承,因为静态变量不属于对象

 当子类和父类是同名的成员变量的时候,在子类访问这个同名的成员变量的时候,子类是优先访问的自己的,

 当子类继承父类,在父类非同名的的成员变量都是可以访问的,但是要单独访问父类中的同名的成员变量就要使用super这个关键字

 继承:对两个类的共性进行抽取

为什么继承:达到代码的复用

子类继承了父类的什么:继承了父类的成员变量/成员方法,在子类和父类有同名的成员变量/成员方法优先访问子类,如果想要访问父类同名的就要使用super这个关键字

 

子类构造方法:

 当父类有构造方法时,必须要先用子类调用父类的构造方法才可以使用,子类需要先帮助父类进行初始化之后,子类才能进行初始化,调用父类的构造方法需通过super()来完成,且必须放在子类方法的第一条语句

 super和this的区别:

1.都是在非静态成员方法中使用,this是访问本类的方法和属性,super是访问父类的方法和属性

2.在构造方法中,this()是调用本类的构造方法,super()是调用父类的构造方法,两种构造方法不可以同时使用,且都需要放在第一行,构造方法中super()是一定会存在,但this()不写的话则不存在

 父类和子类的打印顺序:

当父类和子类同时有静态代码块,实例代码块,构造方法,会优先执行父类的静态代码块,然后执行子类的静态代码块,后就是先执行父类的实例代码块和构造方法,在执行子类的

 

 

 portected关键字是修饰父类的成员变量和成员方法,即便父类和子类不在同一个包时同样可以达到调用的作用,但调用时子类要包含父类的包,要在子类的方法运用super关键字调用,最后在main方法调用子类的方法,实现父类的调用

 

final关键字是让你的一个类不被另一个类继承,让你的变量变成常量

组合:

将一个类作为另一个类的成员变量来使用,同样是为了实现代码的复用

 

标签:变量,构造方法,继承,子类,成员,多态,父类,super
From: https://www.cnblogs.com/hzy7/p/18454412

相关文章

  • C# 中继承的说明
    一.继承的相关概念说明继承是面向对象程序设计中最重要的概念之一,允许我们根据一个类来定义另一个新类,从而使得创建和维护应用程序时就变得更容易,同时也有利于重用代码和节省开发时间。当创建一个类时,不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已......
  • 【C++ 10】多态
    文章目录......
  • 【C++】继承
    C++的继承1.继承的概念及定义1.1继承的概念1.2继承定义1.2.1定义格式2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6.继承与静态成员7.复杂的菱形继承及菱形虚拟继承7.1单继承、多继承与菱形继承7.2虚继承7.3虚继承的原理1.......
  • 【C++】多态
    文章目录1.多态的概念1.1概念2.多态的定义及实现2.1多态构成的条件2.2虚函数2.3虚函数的重写2.4C++11override和final2.5重载、覆盖(重写)、隐藏(重定义)的对比3.抽象类3.1概念3.2接口继承和实现继承4.多态的原理4.1虚函数表与多态原理4.2动态绑定与静......
  • 深入挖掘C++中的特性之一 — 多态
    目录1.多态的概念2.多态的定义及其实现1.虚函数2.虚函数的重写/覆盖3.实现多态的必要条件4.多态的代码呈现5.来一道小题,深入理解一下多态3.虚函数重写的一些其他问题1.协变2.析构函数的重写4.override和final关键字5.重载/重写/隐藏的对比(相同函数名的函数间关系)......
  • 每天学点C++之多态
    一多态的语法多态的基本含义是,函数参数父为类型,传入该类不同的子类,所表现的行为会根据子类的具体情况而不同,大家请看代码:#include<iostream>usingnamespacestd;classAnimal{public:voideat(){cout<<"Animaleat"<<endl;}};classCat:publ......
  • Java基础第八章(多态)
    多态1.方法体现多态方法重载体现多态对象通过传入不同数量的参数,会调用不同的sun方法,体现出多态方法重写体现多态A类和B类是继承关系,通过不同对象调用对应类中重写的方法体现2.对象体现多态编译是javac,运行是java(1)一个对象的编译类型和运行类型可以不一致将父......
  • java_day8_多态、抽象类、接口
    一、多态多态的好处:1、提高了程序的维护性(由继承保证)2、提高了程序的扩展性(由多态保证)代码案例(多态的拓展性)classAnimal{publicvoideat(){System.out.println("吃");}publicvoidsleep(){System.out.println("睡");}}clas......
  • Java面向对象第四章方法重写与多态练习题
    练习1:使用重写优化电子宠物系统需求说明使用方法重写优化电子宠物系统,实现如下效果 packagecom.hz.ch02;/***猫类*@author26255**/publicclassCatextendsFather{ privateStringsex; publicCat(Stringname,inthealth,intlove,Stringse......
  • Java多态性:面向对象编程的精髓
    目录1.什么是多态性?2.多态性的两种形式2.1 编译时多态(静态多态)2.2 运行时多态(动态多态)3.多态性的好处4.示例代码5.拓展知识5.1抽象类和接口5.2泛型5.3反射在软件开发的世界里,Java以其强大的面向对象编程(OOP)特性而闻名。今天,我们将深入探讨Java中的核心概......