黑马程序员技术交流社区

标题: -继承-Java基础-理论知识 [打印本页]

作者: zzy张    时间: 2015-9-26 00:11
标题: -继承-Java基础-理论知识
继承 class 子类名extends 父类名{}
继承的好处:提高代码复用性;提高代码维护性;类之间产生关系,多态的前提。
继承的特点:只支持单继承;支持多层继承
子类可以使用父类所有的非私有成员
子类不能继承父类的构造方法,但是可以通过 super 访问

super 关键字父类存储空间的标识
在子类中,访问父类的成员, super.父类成员,不能写在静态里面

继承中构造方法的关系
子类中所有的构造方法都默认会访问父类中空参数的构造方法
子类构造方法的第一行,有一条默认的隐式代码 super(); 调用父类空参数的构造方法
考虑到父类中成员变量的赋值情况,父类构造器没有对成员变量进行赋值,父类中重载的构造方法可以在子类中对 super() 传参数调用,即子类初始化之前要先完成父类初始化

*父类中没有默认的空参构造方法,子类构造方法中必须手动写 super() 指定参数列表
构造方法第一行,this() 和 super() 只能写一个

this 和 super 用法的区别
this 指本类对象的引用,super 父类存储空间标识
访问成员变量:
    this.成员变量   super.成员变量
访问构造方法
    this(); 用于本类构造方法之间互相调用
    super(); 子类的构造方法默认访问父类中空参的构造方法
访问成员方法
    this.成员方法   super.成员方法
继承中成员方法的关系
子类重写父类的方法,权限必须大于等于父类方法的权限,剩余方法声明部分须和子类一致
静态方法严格意义上没有重写,如果静态方法被覆盖,则子类中的方法也是静态的

final 关键字
修饰类,类成为最终类,不能被继承,没有子类
修饰成员方法,方法成为最终方法,不能被子类重写,可以调用
修饰成员变量,成员变量在堆内存中有默认值
    final 固定的是成员变量的手动赋值,而不是默认值

构造方法可以对成员变量初始化赋值,但是普通方法不可以对 final 成员变量赋值
因为构造方法是运行在对象建立过程中,普通方法调用时,对象已经建立完成了

作者: hujun5215651    时间: 2015-9-26 08:43
这个复制粘贴的可以啊
作者: 不爱念经的小僧    时间: 2015-9-26 16:45
笔记中不是有吗
作者: a80C51    时间: 2015-9-26 16:48
整理的不错,继续努力哈。。。。。。
作者: 18204509116    时间: 2015-9-26 20:51
签到签到
作者: xinchi    时间: 2015-9-26 20:56
很好,总结的不错




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