继承(extends):

让类与类之间产生关系,子父类的关系

继承的好处与弊端:

好处:

提高代码的复用性

提高了代码的维护性

让类与类之间产生关系,是多态的前提

弊端:

类的耦合性增加

开发的原则是:

1、高内聚,低耦合

2、耦合:类与类的联系

3、内聚:就是自己完成某件事情的能力

继承的特点(掌握):

Java只支持单继承,子类只能有一个父类。

注:但是java中的接口功能支持多实现

Java支持多层继承(爷-父-子)

java中类的继承特点:

如果想看这个体系的所有功能用最底层的类创建对象

如果想看共性功能,看最顶层的类

继承的注意事项(掌握)

子类只能继承父类的非私有的成员(成员变量和成员方法)

子类不能继承父类的构造器,但是可以通过super 关键字调用父类的构造方法

不要为了部分功能而去强行继承

适合使用继承的环境:

当两者体现的是一种 is-a 的关系。

例如:

人-->男人

食物-->水果-->苹果-->酸苹果

this 和super的区别:

this代表当前对象的引用,谁来调用我,我就代表谁

super代表父类对象的引用。

两者使用区别

调用成员变量

this调用本类的成员变量,也可以调用父类的成员变量

super调用父类的成员变量

调用构造方法

this调用本类的构造方法

super调用父类的构造方法

调用成员方法

this.成员方法 调用本类的成员方法,也可以调用父类的成员方法

super.成员方法 调用父类的成员方法

继承中构造方法的关系(掌握)

子类所有的构造方法都会默认访问父类的构造方法。

原因:

子类继承父类的数据,可能会使用父类的数据。

子类初始化前会先完成父类的初始化

每个构造方法的第一条语句默认都是:super();

Object类是最顶层的类(Everything is Object)万物皆为对象

继承中构造方法的注意事项(掌握)

父类没有构造方法时,子类怎么办?

super解决

this解决

注意:super(...)或者this(...)必须出现在构造方法的第一条语句上。

方法的重写的注意事项(掌握)

注意以下方法不会重写

1、静态方法不会重写 ,父类为静态,子类只能为静态,否则编译错误

2、final 修饰方法 否则编译错误

3、私有方法不会重写

4.子类重写父类方法时,访问权限不能更低最好写成一致。

5.子类重写父类的方法时,最好声明一模一样。

* Override和Overload的区别?Overload能改变返回值类型吗?

* overload可以改变返回值类型,只看参数列表

* 方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的

* 方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。

* 子类对象调用方法的时候:

* 先找子类本身,再找父类。

final关键字(一把手术刀)

特点:

修饰类:类不能被继承

修饰变量:变量编程常量,只能初始赋值一次

修饰方法:不能被重写

final修饰变量的初始化时机:

显示初始化

在对象构造完毕前即可。

final 表示最终的。

不能修饰构造方法

修饰类,表示该类不能被继承.比喻成一把极其锋利的手术刀,将父类阉割

修饰方法,表示该方法不能被重写

修饰属性,表示常量,值一旦确定不可改变。

final 修饰的方法不可以被覆盖,但父类中没有被 final 修饰方法,子类覆盖后可以加 final。

class Fu {

// final 修饰的方法,不可以被覆盖,但可以继承使用

public final void method1(){}

public void method2(){}

}

class Zi extends Fu {

//重写 method2 方法

public final void method2(){}

}

java 继承作用_java三大特性之继承相关推荐

  1. div不继承父类样式_Java三大特性之继承

    继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有 ...

  2. java三大特性 继承_java基础(二)-----java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  3. java 集成_java提高篇(二)-----理解java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  4. Java基础篇:封装、继承、多态三大特性

    目录: 一.Java三大特性之:封装 二.Java三大特性之:继承 三.Java三大特性之:多态 一.Java三大特性之:封装 1.什么是封装: 封装,就是将数据和基于数据的操作封装在一起,数据被保护 ...

  5. Java 面向对象编程的三大特性——封装、继承、多态

    一.类和对象 1. 首先,什么是对象呢? 对象简单的来说就是一个实物,比如一部 iPhone X 手机,它就是对象.它的屏幕.内存等就是它的属性. 手机能够打电话,发短信,这个功能就是它的方法. 2. ...

  6. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...

  7. Java提高篇 —— Java三大特性之继承

    一.前言 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事 ...

  8. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  9. 大数据必学Java基础(四十):面向对象三大特性之一继承(Inheritance)

    文章目录 面向对象三大特性之一继承(Inheritance) 一.列举案例说明 1.类是对对象的抽象

最新文章

  1. mysql是面向对象的语言吗_php一种面向对象的语言,那么什么是面向对象呢?
  2. 我是怎么通过技术白手起家创业的。
  3. BugKu:cookies 欺骗
  4. 栈和队列应用之数制转换
  5. “7th-place-solution-microsoft-malware-prediction”——kaggle微软恶意代码检测比赛第七名代码
  6. 为什么kafka使用磁盘而不是内存
  7. 我在攻读计算机视觉和机器学习硕士学位时学到了什么
  8. win7开机提示服务器正在运行,科技常识:win7电脑启动ie浏览器提示服务器正在运行的处理方法...
  9. 向内存中连续存入数据_内存节省到极致!Redis中这个数据结构,值得每个程序员了解...
  10. javascript的DOM、BOM操作
  11. 【招聘内推】阿里高德地图招聘应用算法专家(P7,含推荐算法方向)
  12. ubuntu 11.10 下network proxy 的设置问题
  13. MIT 线性代数 Linear Algebra 25: 对称矩阵的特征值特征向量,正定矩阵
  14. 18、TWS和IB中的错误处理信息
  15. 2017年c语言试题,2017年计算机二级C语言试题
  16. 怎么写脚本实现自动输入密码
  17. 小程序input聚焦事件_微信小程序input失焦异常
  18. 5类6类7类网线对比_超6类7类8类网线进来挨打 6类线全面测评 网速和传输速率测试...
  19. 江苏2021高考成绩查询全省排名,江苏省高考排名对应大学-江苏考生位次查询(2021年参考)...
  20. 阿里云 1H2G T5实例 与 腾讯云 1H2G 标准2实例 测试对比

热门文章

  1. Git 忽略编译后文件
  2. smbus协议的command_SMBus总线概述
  3. python进程监控 supervisor_使用Python的Supervisor进行进程监控以及自动启动
  4. springboot中文语音识别_【记录】语音识别软件包、代码示例、数据集汇集
  5. java 加密 数字_java 加密数字签名
  6. python编辑邮件格式_python发送邮件模板
  7. 国嵌c语言深度,国嵌C语言3部全
  8. 【LeetCode笔记】剑指 Offer 55 - II. 平衡二叉树(递归、二叉树)
  9. 【LeetCode笔记】剑指 Offer 06. 从尾到头打印链表(Java、翻转链表)
  10. ios 捕抓crash_ios crash的原因与抓取crash日志的方法