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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卑微の小幸福 中级黑马   /  2013-11-6 22:32  /  828 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这几天的学习感觉很好。收获颇多啊!以前的效率都在哪去了,看看27,突然感觉速度有点慢了!得加快步伐了!!!!!!!!!!!

一、概念:继承就是一个类(父类)抽取具有共同属性的方法,再由具有这些共同属性的类(子类)来继承它,从而提高代码的复用性。

二、特点是:

1、提高代码复用性,定义在父类中的成员(变量和方法),可以被子类重复使用;

2、让类与类之间产生关系,这样就会有多态的特性。使得应用起来更方便。

3、在java中只支持单继承,不支持多继承。

4、但是java支持多层继承。
三、子父类出现后,类成员的特点:
类成员:变量、函数、构造函数

1、变量:

子父类中出现非私有的同名成员变量是,子类访问本类的同名时,要用this关键字(如果省略了this,仍是代表本类的变量);子类访问父类同名变量时,则用super关键字。
补充:this和super两者都存在与方法区中。

    this:本类对象引用,切记:是哪个对象调用this所在的函数,this就代表哪个对象。

    super:父类对象引用。且和this一样在构造函数第一行,(不能与this同时存在)

2、.函数:(覆盖(重写))

当子类同父类出现相同函数时,子类对象调用该函数时,会运行子类内容,如同覆盖父类函数一样。实际上并没有覆盖父类的函数,如果还需要调用父类的这个方法,需要用super.方法名即可。
注意:
覆盖时,子类方法权限一定要大于等于父类方法权限。
静态只能覆盖静态。

3、构造函数:子类所有构造函数都会访问父类的空参构造函数(在第一行都默认了super();)所以:如果父类中无空参数构造函数(即父类中显式的构造了含有参数的构造函数),一般都手动加入父类中该构造函数。
子类构造函数也可手动指定this语句,来访问本类中的构造函数,但子类中至少要有一个构造函数访问父类的构造函数(继承嘛,呵呵)。

四、final:
final修饰的范围:类,变量,函数。
修饰的作用:
final修饰的类,不能被继承;
                变量:基本数据类型是常量;引用数据类型其地址值不能改变。
               函数,不可以被重写(覆盖)。
final修饰的变量名称一般都是大写的。
     且在修饰成员变变量时,变量要被初始话,且初始化有两种:1,显示初始化。2,构造函数初始话-------注,两种不可以同时进行


final 修饰数组,相当于定义了一个,指向含有N个元素数组的常量指针,指针中的地址不能变,但地址所指单元内容是可以修改的


final与 private:

区别:1,final修饰的类可以访问
                 private不可以修饰外部类,可以修饰内部类,
           2,final修饰的方法不可以被子类重写
                 private修饰的方法子类是看不到父类的私有方法的
           3,final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改
                 private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值




希望继续补充!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马