继承

1.继承的概念

继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。

继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。

2.继承的关键字

继承使用extends关键字。

示例:

 public class Dog extends Pet{
//狗类
}

3.在子类中访问父类成员

使用super关键字,super关键字代表父类对象

访问父类构造方法:

super();//访问无参构造。必须是子类无参构造的第一句。

实例化子类对象,默认先执行父类的无参数构造,再执行子类的无参数构造。

super(name,age,sex);//访问有参构造

实例化子类的有参构造时,使用super( )重复调用父类中的有参数构造,默认直接调用父类中的有参数构造,不会调用父类中的无参数构造

访问父类属性:

super.name;

访问父类方法:

super.print();

4.子类不能继承父类的成员有哪些?

1.private修饰的。

2.子类与父类不在同一包中,使用默认访问权限的成员。

3.构造方法。

5.访问修饰符

protected:可以修饰属性和方法,本类、同包、子类可以访问。

访问修饰符总结

符文修饰符 本类 同包 子类 其他
private    √        
默认(friendly)    √    √      
protected    √    √    √  
public    √    √    √    √

6.方法重写

1).方法重写:又称方法的覆盖(overriding)

2).方法重写必须满足一下要求:

重写方法和被重写方法必须具有相同的方法名。

       重写方法和被重写方法必须具有相同的参数列表。

      重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类

      重写方法不能缩小被重写方法的访问权限。
   3).方法重载与方法重写的区别
 
  位置 方法名 参数表 返回值 访问修饰符
方法重写 子类 相同 相同 相同或是其子类 不能比父类更严格
方法重载 同类 相同 不相同 无关 无关

7.抽象类

    定义抽象类关键字:abstract
    抽象类的优点:
     抽象类不能被实例化。
     可以有多个抽象方法。
8.抽象方法
    abstract也可定义方法为抽象方法。
    抽象方法优点:
     抽象方法没有方法体。
     抽象方法必须在抽象类中。
     子类必须重写父类中的抽象方法(除非子类也是抽象类)。
9.final修饰符
    final修饰符的作用。
      修饰的类不能在继承。
      修饰的方法不能被重写。
      修饰的属性为常量,不能更改初始值。
 

(完)

2018-02-28  12:46:04

作者:Call_迪迦

每日一句:

生活总是这样,不能叫人处处都满意。但我们还要热情地活下去。人活一生,值得爱的东西很多,不要因为一个不满意,就灰心丧气

JavaOOP-继承的更多相关文章

  1. JAVAOOP继承

    继承:修饰符 子类 extends 父类{    //类定义部分},不可以使用private和protected修饰类 减少代码量,实现无损替换 必须符合A is a B的关系 宝马  车 狗     ...

  2. JavaOOP 第二章继承

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

  3. JavaOOP 试题

    1) 以下属于OOP的特征有().   a)继承   b)封装   c)多态   d)隐藏   2) JavaOOP中的多态包括()   a) 方法重写 b) 方法重载   c) 方法隐藏 d) 以上 ...

  4. javaScript的原型继承与多态性

    1.prototype 我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,给人们的感觉 ...

  5. JavaScript的继承实现方式

    1.使用call或apply方法,将父对象的构造函数绑定在子对象上 function A(){ this.name = 'json'; } function B(){ A.call(this); } ...

  6. javascript中的继承与深度拷贝

    前言 本篇适合前端新人,下面开始...... 对于前端新手来说(比如博主),每当对js的对象做操作时,都是一种痛苦,原因就是在于对象的赋值是引用的传递,并非值的传递,虽然看上去后者赋值给了前者,他们就 ...

  7. 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

  8. JS继承类相关试题

    题目一: //有关于原型继承的代码如下:function Person(name) {   this.name = name;}Person.prototype = {     getName : f ...

  9. JS继承之寄生类继承

    原型式继承 其原理就是借助原型,可以基于已有的对象创建新对象.节省了创建自定义类型这一步(虽然觉得这样没什么意义). 模型 function object(o){ function W(){ } W. ...

  10. JS继承之借用构造函数继承和组合继承

    根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...

随机推荐

  1. Adobe RIA 开发工程师认证考试大纲

    AdobeRIA 开发工程师认证考试大纲 考题数量:共90道题,考试通过正确率:60% 考试时间:120分钟  试题种类:单选题.多选题和判断题     1. Adobe RIA基础知识(2道题)  ...

  2. iOS - Quartz 2D 第三方框架 Charts 绘制图表

    1.Charts 简介 使用第三方框架 Charts 绘制 iOS 图表.GitHub 源码 Charts Charts 是一款用于绘制图表的框架,可以绘制柱状图.折线图.K线图.饼状图等.Chart ...

  3. Aspose.Words for .NET

    Aspose.Words for .NET Aspose.Words for .NET是 .NET 下先进的 Word 文档处理 API.它支持 DOC, OOXML, RTF, HTML, Open ...

  4. 基于python机器学习人脸自动补全

    import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression ...

  5. 【BZOJ4010】【HNOI2015】菜肴制作(拓扑排序)

    [BZOJ4010][HNOI2015]菜肴制作(拓扑排序) 题面 Description 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为 ...

  6. datatable 分页实例

    1.使用datatable前台分页,需要后台返回全部数据,返回lisit 2.如果是后台分页 则后台需要获取分页参数,页面中要加 "searchable":true,  " ...

  7. ubuntu 14.04 下实现浏览器接收UDP视频流

    前言 由于近期项目需求,需实现在浏览器上实时预览接收UDP视频流信息.此功能若在VLC上可轻松播放,奈何由于Chrome.Firefox版本的升级,渐渐浏览器不支持外部插件,因而使用VLC web插件 ...

  8. 8Manage:数据安全,企业新时代的护航利器

    数据安全,是个老生常谈的话题,但是安全往往是在危险的时候方能体现出来,因此,这也是很容易被人们所忽略的部分.2017年,数据安全事件更是屡屡登上头条,除了个人信息的数据泄露之外,还有网络病毒造成的全球 ...

  9. C++学习-10

    类型转换:自动转换,显示转换,强转 总结:CPP编译的时候,从上往下,遇到不匹配,声明扩展了一个类的作用域(此时最多只能创建类的指针或者引用),         由于没有定义是不可能使用到类的成员 完 ...

  10. APNS IOS 消息推送沙盒模式和发布模式

    在做.NET向IOS设备的App进行消息推送时候,采用的是PushSharp开源类库进行消息的推送,而在开发过程中,采用的是测试版本的app,使用的是测试的p12证书采用的是ApnsConfigura ...