黑马程序员技术交流社区

标题: 梳理知识四(继承、多态) [打印本页]

作者: 以梦为码    时间: 2015-7-18 15:34
标题: 梳理知识四(继承、多态)

  继承:

   在一个已有的类的基础上,作为修改,得到一个新的类

继承的特点:
     1、子类可以给直接访问父类中非私有的属性与方法
     2、java中只支持单继承,不支持多继承
     3、Java中支持多层继承

  子类创建对象就调用一次父类的构造方法
     子类构造放啊第一行有一个隐式的代码super();super()调用父类空参数构造方法
   
      this和super 首行问题:
            this和super不能并存
          但子类中所有构造方法必须访问父类构造方法,不管直接还是间接
重写;
   子类父类中出现了相同的方法,子类将父类的方法重新实现
   注意事项:
      1、子类的访问权限必须要大于等于父类方法访问权限
      2、静态方法 只能覆盖静态方法
      3、子类不能重写父类的私有方法
静态覆盖的是静态,非静态覆盖的是非静态
但其实静态方法,实际上已经没有覆盖的含义了

继承后,子类父类中的成员变量的变化情况
成员变量,如果子类自己有,调用自己的,自己没有找父类,如果父类没有编译失败
子类中如果调用父类的成员,使用super关键字 调用

代码块:
    静态代码块
        只运行一次
    构造代码块
         只要有新的对象产生就运行一次
    局部代码块
  
final:最终,修饰局部变量、最后一次赋值,变成常量
      成员变量只能赋值一次,终身不变
      成员方法、不能被覆写

静态和非静态成员:
     1、生命周期:
            静态成员:随着类的加载而存在,随着类的消失而消失
            普通成员:随着对象的创建而存在,随着对象的消失而消失
     2、调用的区别:
            静态成员:对象.成员或类名.成员
            普通成员:对象.成员
     3、位置的区别:
            静态成员:方法区
            普通成员:堆内存
     4、理解上的区别
             静态:多个对象共享共同一个属性
             普通:每一个对象单独所拥有的
多态:
  一个事物,具备的多种形态
    简单的说就是:将子类类型的引用赋值给父类类型的引用
   多态的前提:
      1、需要继承或实现
      2、子类重写父类的方法
      3、父类引用指向子类对象

多态的成员特点:
     成员变量:
          编译:看左边父类
          运行:看左边父类
      成员方法:
           编译:看左边父类
           运行:看右边子类
    静态成员方法:
           编译:看左边父类
           运行:看左边父类
多态的的好处和作用
       提高了程序的扩展性
       弊端:不能使用子类特有方法

多态案例:
        向上转型:
          子类转换成父类(自动转换)
         作用:提高了程序的扩展性
        向下转型:
           父类转换成子类(强制转换)
         作用:使用子类特有的方法
作者: 马上添水    时间: 2015-7-18 15:38
是你自己的笔记吗?
作者: 陈建民1    时间: 2015-7-18 19:53
快学到这了,先浏览一下
作者: 官沛    时间: 2015-7-18 20:18
不错。超哥说过,自己梳理过,只是才是自己的。
个人感觉是:
面向对象之前的,理解和概念较多较杂,是要自己梳理好框架
API之后很大程度上是对前面的实践和联系,重点是多敲代码
作者: 小虎199406    时间: 2015-7-18 21:45
楼主  一起加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2