1 继承的好处
  继承的出现提高了代码的复用性,提高软件开发效率。
  继承的出现让类与类之间产生了关系,提供了多态的前提。

2 继承的注意事项
  在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的。
  class A{}
  class B{}
  class C extends A,B{} // C类不可以同时继承A类和B类

3 继承后子类父类成员变量的特点
  子类的对象调用成员变量的时候,子类自己有,使用子类,子类自己没有调用的父类
  当子父类中出现了同名成员变量
4 继承后子类父类成员方法的特性_子类重写父类方法
  子类的对象调用方法的时候,子类自己有,使用子类,子类自己没有调用的父类
  出现同名成员变量
  子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖
5 方法覆盖的注意事项
  权限:子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
  四大权限:public>默认=protected>private
  重载与重写对比:
    重载:
    权限修饰符(public private 默认):无关
    方法名:重载的两个方法的方法名必须相同
    形参列表:形参类型的顺序不同、形参的个数不同、形参的类型不同,三者至少满足一个
    返回值类型:重载与返回值类型无关
    重写:
    权限修饰符(public private 默认): 子类方法的权限>=父类的方法的权限
    方法名: 子类方法和父类方法必须相同
    形参列表: 子类方法和父类方法的形参列表必须相同
    返回值类型:基本类数据类型:必须相同;

          引用数据类型:子类方法的返回值类型和父类方法的返回值类型相同或者子类方法的返回值类型是父类方法的返回值类型的 子类
6抽象类的产生

   分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。
7 抽象类的定义格式
  抽象方法定义的格式:
  public abstract 返回值类型 方法名(参数);
  抽象类定义的格式:
  abstract class 类名 {

  } 
8 抽象类特点
  抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。
  抽象类不可以直接创建对象,原因:调用抽象方法没有意义。
  只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
  之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。
9 抽象关键字abstract不可以和哪些关键字共存?
   private:私有的方法子类是无法继承到的,也不存在覆盖,
  abstract:abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。
  this
  抽象类,可以没有抽象方法,可以定义带有方法体的方法
     让子类继承后,可以直接使用

Java_10 继承的更多相关文章

  1. Java_10.1继承应用

    /*   *  描述学生和工人两个类   name  age进行抽取 ,父类 Person 提供set   get   *  同时创建学生和工人对象  必须明确年龄和姓名  并且控制台输出 * */ ...

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

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

  3. JavaScript的继承实现方式

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

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

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

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

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

  6. JS继承类相关试题

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

  7. JS继承之寄生类继承

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

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

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

  9. JS继承之原型继承

     许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支 ...

随机推荐

  1. How to Pronounce the Word ARE

    How to Pronounce the Word ARE Share Tweet Share Tagged With: ARE Reduction Study the ARE reduction. ...

  2. RabbitMQ系列教程之四:路由(Routing)(转载)

    RabbitMQ系列教程之四:路由(Routing) (使用Net客户端) 在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息. 在本教程中,我们将为其添加一项功能 ...

  3. 如何使用JDBC连接Mysql数据库

    //java类名BaseDaopublic class BaseDao {    private Connection conn = null; // 声明Connection对象,Connectio ...

  4. linux shell 语法学习

    文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...

  5. delphi Drag and Drop sample 鼠标拖放操作实例

    Drag and Drop is a common operation that makes the interface user friendly: a user can drag/drop inf ...

  6. java axis2 webservice

    http://clq9761.iteye.com/blog/976029/ 这篇文章写的是最全的,也是最好的.无须下一步下一步操作来操作去,写类直接调试,非常好!

  7. Python 测试

    (1)import doctest doctest.testmod(verbose=True) (2) pip install tests

  8. openssl数字证书常见格式 协议

    证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.KEY.CSR.CRT.CRL .OCSP.SCEP等. PEM – Openssl使用 PEM(Privacy Enha ...

  9. js中基本事件的总结,onclick、onblur、onchange等

    js中的基本事件总结: 特定的场景下发生的一个动作:事件:事件=函数(),事件发生会触发函数执行. 属性 当以下情况发生时,出现此事件 FF N IE onabort 图像加载被中断 1 3 4 on ...

  10. 游戏编程模式KeyNote

    [游戏编程模式KeyNote] 1.命令模式. 重做在游戏中并不常见,但重放常见.一种简单的重放实现是记录游戏每帧的状态,这样它可以回放,但那会消耗太多的内存.相反,很多游戏记录每个实体每帧运行的命令 ...