------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
来源:互联网 发布:演唱会谁比较好 知乎 编辑:程序博客网 时间:2024/04/19 15:50
黑马程序员 继承、super、复写、final、对象初始化过程
继承的概述
当多个类中存在相同的属性和行为时,将这些内容抽取到一个类中,那么多个类都无需再定义那么多属性和行为,只需继承单独的那个类即可。
子类可以访问父类非私有的方法和属性
通过extends关键字让类与类之间产生继承关系
继承的出现提高了代码的重用性,继承的出现让类与类之间产生了关系,提供了多态的前提。
继承的特点
JAVA只支持单继承,支持多层继承
定义继承需要注意:
不要为了获取其它类中的某个功能而去继承,
类与类之前要有所属(“IS A”)的关系。
super关键字
与this关键字的用法相同
super代表父类的引用
当子父类同现同名成员时,可以用super来区分
子类要调用父类的构造函数时,可以用super语句,即 super(……);
函数覆盖
子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为重写或复写。
父类的私有方法不可被复写。
在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名(…)获取。
覆盖注意事项:
覆盖时,子类方法权限一定要大于或等于父类的方法。
静态只能覆盖静态。
覆盖的应用:
当子类需要父类的功能,而功能主体子类有自己特有内容时,可以复写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。
子类的实例化过程
子类中所有的构造函数默认都会访问父类中空参数的构造函数,因为每一个构造函数的第一行都有一条默认的语句super();
final关键字
final用于修饰类,方法,变量
final修饰的类不可以被继承
final修饰的方法不可以被覆盖
final修饰的变量是常量,只能被赋值一次
内部类只能访问被final修饰的局部变量
七. 对象的初始化过程
例: Person p = new Person();
因为new用到了Person.class,所以会找到Person.class文件并加载。
加载时,自动执行了static代码块,并给Person.class进行初始化。
在堆内存中开辟空间,分配分存地址。
在堆内存建立对象的特有属性,并进行默认初始化。
对对象属性进行显示初始化。
对对象进行构造代码块初始化。
对对象进行对应的构造函数初始化。
将内存地址赋给栈内存中的p变量。
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- ----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
- <a href="http://www.pianopro.cn">通州钢琴培训</a>
- 尖峰在线培训 http://www.jianfengedu.com/
- 培训
- 培训
- 培训
- 培训
- 培训
- 培训
- "三规合一"学习
- Maven3路程(三)用Maven创建第一个web项目
- 工作中常用的mysql命令
- HDOJ 2647 Reward(拓扑排序(节点含值)+邻接表)
- BZOJ 题目1211: [HNOI2004]树的计数(组合数学,prufer)
- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ----
- 实验
- CommandError: App 'books' has migrations
- 海思HI3518由于sensor对齐方式问题导致视频花屏
- 解决org.codehaus.jackson.annotate.JsonUnwrapped报错的问题
- android绘制矩形框-不要描边
- Volley网络框架完全解析(缓存篇)
- java设计模式之四 —— 适配器模式整理
- CLLocationManagerDelegate的讲解