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. git-搭建企业git服务器

    1.安装 yum install git 2.增加用户 useradd git -d /home/git -g git 3.查看公钥鉴权文件是否存在  cat /home/git/.ssh/autho ...

  2. vue.js 初级之一

    vue.js 是一个构建数据驱动的 web 界面 渐进式驱动框架. 引用的话,直接使用script标签引入就可以了: <script src="./lib/vue.js"&g ...

  3. python语言中的函数装饰器

    装饰器 什么是装饰器? 装饰:给已有的对象(函数)添加新的功能 器:工具              在python中指具备某些功能的函数 装饰器:装饰器就是一个给其他函数增加功能的函数 一种设计原则: ...

  4. git-03 建立分支

    git branch han git checkout git push origin han

  5. 为tomcat配置项目必须的引擎文件

    1.如下图所示,红框圈出来的四个语音引擎文件是直接放在项目根目录下的,这样的话我们发布web应用的时候,项目并不能自动把这几个文件打包到tomcat中, 除非放到WebRoot文件夹下,但是这样的话项 ...

  6. Redis入门及主从配置

    1.Redis入门简介 Redis是一个开源的使用ANSI C语音编写.支持网络.可基于内存亦可持久化的日志型,Key-Value数据库.支持存储的value类型包括 string(字符串).list ...

  7. 内核 platform_get_resource() 函数解析

    struct resource *platform_get_resource(struct platform_device *dev,            unsigned int type, un ...

  8. 微信小程序---picker

    picker 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器. wxml: 普通选择器(mode = ...

  9. OTU(operational taxonomic units),即操作分类单元

    转自http://www.dxy.cn/bbs/topic/35655953 1.OTU是什么? OTU(operational taxonomic units),即操作分类单元.通过一定的距离度量方 ...

  10. centos6安装自带php

    一.Centos 6安装自带PHP CentOS 默认仓库中包含了php套件,我们可以直接使用yum安装.下面是最小化安装,我们使用php-fpm来解析php. yum install -y php- ...