黑马程序员技术交流社区
标题:
梳理知识四(继承、多态)
[打印本页]
作者:
以梦为码
时间:
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