继承

(1)java不支持多重继承,也就是说子类至多只能有一个父类

(2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法

(3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承

(4)子类中定义的成员方法,并且这个成员方法的名字,返回类型,及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。

1.构造函数:

当子类继承一个父类时,构造子类时需要调用父类的构造函数,存在三种情况

(1),父类无构造函数或者一个无参数构造函数,子类若无构造函数或者有无参数构造函数,子类构造函数中不需要显式调用父类的构造函数,系统会自动在调用子类构造函数前调用父类的构造函数

(2),父类只有有参数构造函数,子类在构造方法中必须要显示调用父类的构造函数,否则编译出错

(3),父类既有无参数构造函数,也有有参构造函数,子类可以不在构造方法中调用父类的构造函数,这时使用的是父类的无参数构造函数

//以上三个结论已经过代码验证

2.方法覆盖:

(1)子类覆盖父类的方法,必须有同样的参数返回类型,否则编译不能通过

(2)子类覆盖父类的方法,在jdk1.5后,参数返回类可以是父类方法返回类的子类

(3)子类覆盖父类方法,可以修改方法作用域修饰符,但只能把方法的作用域放大,而不能把public修改为private

(4)子类方法能够访问父类的protected作用域成员,不能够访问默认的作用域成员

(5)子类的静态方法不能隐藏同名的父类实例方法

(6)java与C++一样,继承的方法具有多态性

//以上6个结论已经过代码验证

3.成员覆盖:

(1)当子类覆盖父类的成员变量时,父类方法使用的是父类的成员变量,子类方法使用的是子类的成员变量

这个听起来很容易理解的一回事,但是实际使用过程中很多人容易搞混:尤其是在多态的时候,调用一个被继承的方法,该方法访问是一个被覆盖的成员m,那么方法中到底是访问了父类的成员还是子类的成员m?结论是,若实际调用的是父类的方法,就使用了父类的该成员m,若实际调用的是子类的方法,就使用子类的成员m,记住一句,每个类使用成员都相当于在前面加了 一个this指针。

java继承与覆盖_Java-继承与覆盖【摘抄】相关推荐

  1. java多态 覆盖_Java ------ 继承、方法覆盖、多态

    一.什么是继承 面向对象的三大特性: 封装. 继承.多态: 继承就是子类型将父类型的的属性继承到自己类中进行使用,通过继承的方式子类型可以使用父类型的属性和方法,并且,继承只能单重继承,无法多继承,但 ...

  2. java隐藏与覆盖_Java 隐藏和覆盖

    我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊 ...

  3. java实验报告4继承与多态_Java继承与多态实验报告

    西 西 安 安 邮 邮 电 大 学 (计算机学院) 课内实验报告 实验名称: : 态 继承与多态 ﻩ ﻩ 专业名称: 计算机科学与技术 班 班 级: 计科 1405 班 学生姓名: 高宏伟 学 学 号 ...

  4. java继承的性质_java 继承的特性

    java的三大特性之一-----继承 继承的特性: 1.提高了代码的复用性----代码的简洁 2.让类与类之间产生了关系.有了这个关系,才有了多态的特性. 注意:千万不要为了获取其他类的功能,简化代码 ...

  5. java 重载与覆盖_Java重载与覆盖

    小编典典 您基本上是正确的.重载在单个类中具有多个方法,其中方法具有相同的名称.但是,返回值不被视为方法 签名 的一部分.因此,不能通过仅更改返回值来重载方法.您的示例中不能包含以下代码: publi ...

  6. java继承对象转换_java 继承的基础(转)

    java 继承的基础(转)[@more@]继承是面向对象编程技术的一块基石,因为它允许创建分等级层次的类.运用继承,你能够创建一个通用类,它定义了一系列相关项目的一般特性.该类可以被更具体的类继承,每 ...

  7. java继承与多态_Java继承与多态

    感慨一下,到了现在感觉Java里面很多东西都是模模糊糊,不能这样了,一点点解决吧.今天看了继承与多态的一些内容,感觉看得很浅,先写下来,算是巩固,如果后面看到更好的内容,再慢慢加上去. 继承与多态,他 ...

  8. java继承的举例_java继承实例

    实例需求:实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一 个类Add()用于涨工资,普通员工一次能涨10%,经理能涨20%. 具体要求如下: ( ...

  9. java的继承和访问_Java 继承和访问控制

    类的继承 Java中使用extends来实现继承 通过继承,子类自动拥有了基类(supercalss)的所有成员. Java只支持单继承,一个子类只允许有一个基类,一个基类可以有多个子类. class ...

  10. java继承的作用_Java继承概述以及Java继承案例和继承的好处

    Java继承概述 1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些相同属性和行为,只要继承那个类即可. 2.在Java中通过extends关键字可以实现类与类的 ...

最新文章

  1. 谁能给我讲讲原理——视频弹幕游戏!!
  2. gather torch_浅谈Pytorch中的torch.gather函数的含义
  3. html5与css3都要学吗,前端要学css3吗?
  4. spring + hibernate + mysql 事务不回滚
  5. 12c weblogic需要输入用户名密码
  6. SSAS中出现“对象引用未被设置到对象实例”的解决记录
  7. TOMCAT JNDI RESOUCE
  8. oracle 11g sql和pl/sql从入门到精通,Oracle 11g SQL和PL SQL从入门到精通_IT教程网
  9. 汽车电子功能安全标准ISO26262解析(六)——硬件集成测试
  10. ajax实现JSONP跨域
  11. uc浏览器登录报错50001解决方案,登录失败,请重试50001
  12. 《孙子兵法特殊战法之火攻篇》
  13. 链路聚合负载分担方式
  14. 在MQTT中使用SSL/TLS提高安全性
  15. 期货怎么克服频繁止损(期货交易怎么止损)
  16. PHPMyWind支持ppt一键导入
  17. 在线旅游市场分析2014年数据
  18. 我的世界服务器没有显示物品ID,我的世界物品ID不显示怎么办
  19. 计算机导论excel实验4,计算机导论实验 Excel.doc
  20. [大数据]数据可视化 -- 练习卷(上)

热门文章

  1. 4. 集中式vs分布式
  2. 问题:html中的select的options的用法?
  3. leetcode77
  4. java编程思想学习笔记——第2章 一切都是对象
  5. oracle 分区表详解
  6. vi 编辑器基本命令
  7. 20145325张梓靖 《信息安全系统设计基础》第10周学习总结
  8. 【AngularJS】—— 13 服务Service
  9. 为什么需要数据库外键
  10. Photoshop小技巧集锦八十条