A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 艾特yo 中级黑马   /  2017-12-7 21:51  /  855 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

继承的概述:
                  多个类有共同的成员变量和成员方法,抽取到另外一个类中(父类),再让多个类去继承这个父类,
                  我们的多个类就可以获取到父类中的成员了  extends
                  不能继承的是 私有成员 和 构造方法

java中继承的特点:
                   java语言只支持单一继承,只能继承一个父类
                   java语言支持多层继承

继承中成员变量的特点:
                   子类只能获取父类非私有成员(变量)
                   子父类中成员变量的名字不一样直接获取父类的成员变量
                   子父类中成员变量名字是一样的获取的是子类的成员变量

就近原则:谁离我近我就用谁
                   如果有局部变量就使用局部变量
                   如果没有局部变量,有子类的成员变量就是用子类的成员变量
                   如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
                   啥都没有,出错了

super:可以获取父类的成员变量和成员方法,用法和this是相似的

继承中成员方法的特点:
                   子类只能获取父类非私有成员(方法)
                   子类中没有这个方法,调用父类的
                   子类中重写这个方法,调用子类的

方法的重写:在子父类当中,子类的方法和父类的方法完全一样,子类重写了父类的方法(覆盖),
                   当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法

方法重写的应用场景:当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法
                               并可以在方法中使用关键字super调用父类的方法,这样做既可以保有父类的功能,也可以拥有子类持有的功能

方法重写的注意事项:
                  不能重写父类私有的方法
                  权限必须大于等于父类方法的权限

继承中构造方法的执行顺序:
                   在有子父类继承关系的类中,创建子类的对象,调用子类的构造方法,
                   如果子类构造方法的第一行代码没有调用父类的构造方法,则会默认的调用父类的无参构造
                   肯定会执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会使用到
                   我们可以使用super()在子类构造方法的第一行中调用父类的构造方法

this和super的区别:

this:当前对象的引用
      调用子类的成员变量
      调用子类的成员方法
      在子类的构造方法第一行调用其他构造方法
super:子类对象的父类的引用
      调用父类的成员变量
      调用父类的成员方法
      在子类的构造方法第一行调用父类的构造方法

匿名对象:没有名字的对象

匿名对象的应用场景:
                    当方法只调用一次的时候可以使用匿名对象
                    可以当作参数进行传递,但是无法在传参之前做其他的事情
                   注意:匿名对象可以调用成员变量并赋值,但是赋值并没有意义

final: 修饰符,可以用于修饰类,成员方法和成员变量
                   final所修饰的类:不能被继承,不能有子类
                   final所修饰的方法:不能被重写
                   final所修饰的变量:不能被修改,是常量
常量:
                    字面值常量:1,2,3
                    自定义常量:被final所修饰的成员变量,一旦初始化不可改变
                    注意:自定义常量必须初始化,可以选择显示初始化或者构造初始化

abstract:关键字,用于修饰方法和类

抽象方法:不同类的方法是相似,但是具体内容又不太一样,所以我们只能抽取他的声明,
               没有具体的方法体,没有具体方法的方法就是抽象方法

抽象类:有抽象方法的类必须是抽象类
           注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就是抽象类

抽象类的特点:(一个抽象类不能创建对象 创建子类并且重写所有父类的抽象方法)
                     抽象方法只能在抽象类里面
                     抽象类和抽象方法必须被abstract修饰
                     抽象类不能创建对像(不能实例化)
                     抽象类中可以有非抽象的方法
                     抽象类和类的关系也是继承
                     一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类
抽象类成员的特点:
                     成员变量
                                   可以有成员变量,可以有常量
                     成员方法
                                   可以有抽象方法,也可以有非抽象方法
                     构造方法
                                   抽象类可以有构造方法,需要对抽象类的成员变量进行初始化

abstract 不能跟 final  private static共存



3 个回复

倒序浏览
good good study day day up
回复 使用道具 举报
哇,继续努力
回复 使用道具 举报
哇哦,总结挺多啊,学到的也不少哟
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马