如文章标题,今天兔C残篇阐述的话题如下:

文章目录

  • 1.什么是继承
    • 1.1 democode
    • 1.2 关于继承的理论知识概念
  • 2. Super 关键字
  • 3.this 关键字
  • 4.this 和 super 的区别
  • 4.方法重写
1.什么是继承

继承是面向对象的三大特性之一,本质上是对某一批类的抽象,从而实现对现实世界更好的建模。
在使用继承的时候,我们使用extends 关键字,extends关键字的意思是:扩展,子类是父类的扩展。

1.1 democode
//这里我们写一个person类
public class Person{public String name; //人的姓名public int age; //人的年龄Object 类是所有类的祖宗,当我们创建一个类的时候,它会隐含的默认继承Object类这里我们使用public权限修饰,子类在继承这个父类的时候,就可以调用到父类的属性//我们的Java 是单继承的,没有多继承!//我们在下面知识模块中使用extends 实现继承
}
1.2 关于继承的理论知识概念
  • Java 是单继承,没有多继承。
  • 当一个类没有明确指定继承类的时候,会默认的继承Object类
  • 继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖,组合,聚合等
  • 继承关系的两个类,一个类为子类(派生类),一个为父类(基类),子类继承父类,使用extends关键字实现
  • 子类和父类之间,从意义上讲应该具有 “is a” 的关系
2. Super 关键字
public class Student extends Person{super.name;super.age;//在这里我们可以使用 super 关键字调用到父类的属性。如果调用当前类的属性,我们使用this关键字。如果是调用方法的话,也可以使用这两个关键字。与属性相同,调用父类的就使用super,调用当前类的就使用this关键字。如果调用构造方法的话,可以使用this();,父类的构造方法使用super();。构造器我们要妥善使用,在定义构造器的时候,如果定义了有参构造,那一定要定义无参构造,不然在调用的时候,没法调用到无参构造。(因为无参构造是默认创建的,当我们显示的创建有参构造的时候,无参的构造就不再自己默认隐含创建了,所以需要自己创建好无参构造器)而且有参构造也要妥善使用,不然参数定义过多的时候,调用起来容易出现顺序错误,导致出现问题。这个意思就说,比如你定义了八个参数的无参构造 参数列表,那自己调用的时候,忘记了参数定义的顺序,然后进行传参或者说,参数设置时,因为忘记了导致参数传递有误,所以很容易出现问题。而且还有一个特点,我要说明,在子类的构造方法中,它会 隐含的默认 写上一句代码super();调用父类的无参构造,这时候就没法使用 this(); 调用自己类的,不然会报错,也就是说,在构造方法中,只能使用super();因为这是默认调用的,不写也会有一句隐含的代码。当然了,如果指定调用有参构造,就不用调用无参构造器了。
}
3.this 关键字

this关键字的含义就是代表当前的

4.this 和 super 的区别
  • super

    1. super 调用父类的构造方法,必须在构造方法的第一个
    2. super 必须只能出现在子类的方法或者构造方法中
    3. super 和 this 不能同时调用构造方法
  • this

    代表的对象不同

    this 本身调用者这个对象

    super 代表父类对象的引用

    前提

    this 没有继承也可以使用

    super 只能在继承条件下才可以使用

    构造方法

    this(); 本类的构造

    super(); 父类的构造

4.方法重写

需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:访问可以扩大但是不能缩小: public > protected > default > private
  • public 本类,本包,子类,其他包
  • protected 可以在本类,本包下的其他类,本包下的子类 ,访问
  • default 可以在本类,本包下
  • private 只能在本类中访问
  1. 抛处的异常: 范围,可以被缩小,但不能扩大:classnotfoundexception —> Exception(大)

小结:
其实重写很好理解,我们不看上面必须满足的硬性条件来白话理解一下,其实就是我们写一个类,然后继承了另一个类,本来继承这个类的目的可能就是想用他的某个方法,但是之后才发现,想要用的哪个方法其实并不能完全满足我们使用它的目的,需要改进。于是乎,就重写了父类的方法,只要改变方法体中的逻辑就可以完成目标了。所以重写的特点也只是方法体中的变化。

(兔C残篇)Java 面向对象的三个基本特征:继承,Super关键字的使用,this关键字的使用,super和this的区别,方法重写相关推荐

  1. (兔C残篇)Java面向对象三个基本特征:封装

    今天聊天的主题是面向对象的三个基本特性之一的封装. 文章目录 1. 封装 1.1 高内聚 1.2 低耦合 1.3 封装 1. 封装 对于java封装的这个特性我们可以简易的理解成该露的露,该藏的藏. ...

  2. Java -- 面向对象(三)

    Java – 面向对象(三) 本篇的重点是介绍多态的使用,上篇中介绍的继承,子类和父类,其实将父类对象应用于子类的特征就是多态.虽然不好理解,建议关于多态的定义理解,看一下参考书,因为他是抽象的内容, ...

  3. 面向对象的三个基本特征 和 五种设计原则

    面向对象的三个基本特征 和 五种设计原则 来源: http://blog.csdn.net/cancan8538/article/details/8057095 一.三个基本特征 面向对象的三个基本特 ...

  4. 面向对象的三个基本特征是:封装、继承、多态及其五大原则

    阅读数:634 面向对象的三个基本特征是:封装.继承.多态 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方 ...

  5. [转]面向对象的三个基本特征

    面向对象的三个基本特征(讲解) 面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可 ...

  6. 面向对象的三个基本特征

    面向对象的三个基本特征 面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己 ...

  7. 【职坐标】java面向对象三大特性(二)——继承详解

    [职坐标]java面向对象三大特性(二)--继承详解 a) 什么是继承? i. 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可 b) ...

  8. 三、Java面向对象编程有四个特征

    面向对象编程有四个特征:抽象,封装,继承,多态. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者 对象操作,对不可信的进行信息隐藏. 继承是指使用现有类的所有功能, ...

  9. Java面向对象:对象的概念及面向对象的三个基本特征

    面向对象简称OO(Object Oriented),20世纪80年代以后,有了面向对象分析(OOA).面向对象设计(OOD).面向对象程序设计(OOP)等新的系统开发方式模型的研究. 对Java语言来 ...

最新文章

  1. IO复用之epoll系列
  2. Java调用Python脚本工具类
  3. lazada本地店和跨境店的优劣势分析
  4. ​“北斗女神”徐颖,32岁成为中科院最年轻的博导!
  5. Java程序设计当中包的使用_【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承...
  6. Java并发编程笔记之Semaphore信号量源码分析
  7. log file switch
  8. 基于智能家居万能无线遥控系统设计
  9. 求最大值(三种方法)
  10. 九层之台,起于累土:码良组件开发
  11. android 连接本地设备,从USB连接的Android移动设备访问PC的本地主机
  12. GT9xx触摸屏驱动总结
  13. 第十七届智能车竞赛英飞凌 | 逐飞联合直播-平衡单车组入门讲解
  14. 用python语言写小程序_小程序用什么语言开发?python语言开发可以开发吗?
  15. xp无法访问win7计算机,解决XP不能访问win7共享文件的方法
  16. 腾讯ISUX网站的一个小问题
  17. [Python]在代码中怎样发送Ctrl+C或其他ASCII编码的控制字符
  18. 摩尔斯码(Morse Code)
  19. 悟透JavaScript(理解JS面向对象的好文章)
  20. 约束优化:PHR-ALM 增广拉格朗日函数法

热门文章

  1. laravel 实现支付宝扫码支付详解
  2. java comparator 排序_Java8 Comparator 排序方法
  3. Java解析Json对象
  4. C4D如何锁定摄像机? C4D工程文件怎么锁住了?C4D打开为什么不能动了?
  5. 微信小程序使用 canvas 实现手写签名
  6. gil 简述_python GIL简述
  7. linux操作系统(1)
  8. Spring Cloud Zuul之ZuulFilter详解
  9. Ceph BlueStore Allocator
  10. 手机备忘录怎么打出对勾符号