8、从零开始学习JAVA--继承及super的用法
来源:互联网 发布:网络春晚2017在线观看 编辑:程序博客网 时间:2024/05/18 01:28
使用关键字extends,可以使一个类的成员被另一个类继承。
一个父类可以被N多子类继承,但是一个子类只能继承一个父类。
继承是一种扩展关系,子类除了继承父类的成员外还能创建自己的成员。
class 子类 extends 父类
{
。。。
}
注意不能继承构造函数。
1、子类实例化过程(就是new一下后的过程)
在执行子类的构造函数时,必须调用父类的构造函数,因为子类继承了父类的成员,却无法继承父类的构造函数,只能调用,最终目的也是为了消除无用代码。
格式:在子类构造函数开头super();
父类可以有多个构造函数,根据super()的参数列表决定调用哪一个构造函数,和this()一样,也必须是构造函数的第一条语句。
this:调用本类的构造函数
super:调用父类的构造函数
2、函数的复写
override 函数的复写/重写
在子类里面重写父类里的某一函数,要求函数的定义(返回值、类型、参数)完全相同。
使用super调用父类的成员函数,super.函数名(参数);
super的用法和this很像,不过一个是调用父类,一个是调用本类。
3、函数的转型——多态性
3.1、向上转型
将子类的对象赋值给父类的引用。
假设有个Person父类,Student子类。
Student S = new Student();
Person P = S;
或者
Person P = new Student();
注意:如果子类对父类进行了扩写,P只能调用父类中已有的成员,对于子类扩写的成员无法调用; 如果子类中发生了函数的复写,P调用的是改写后的函数,
总结就是:一个引用能够调用哪些成员(变量和方法),取决于这个引用的类型(对于父类来说,子类扩写的成员,父类就无法调用); 一个引用调用的是哪一个方法,取决于这个引用所指向的对象(如果发生了函数的复写)。
3.2、向下转型
假设有个Person父类,Student子类。
Student S1 = new Student();
Person P = S1;
Student S2 = (Student)P;
发生向下转型的前提是先向上转型。
- 8、从零开始学习JAVA--继承及super的用法
- Java super 用法及继承…
- java继承中super关键字的用法
- java继承关系super用法
- java 中super 的用法及意义
- JAVA学习第十一课(继承及super使用)
- 继承和super的用法
- JAVA中的继承问题和super的用法
- Java中多继承下的super()用法
- java学习之继承,super
- java继承中的构造方法及this,super的使用
- JAVA继承,构造函数的执行以及super(),super的用法
- 【JAVA学习】This和super用法及区别
- Java学习7:继承详解及用法
- java-继承super的使用
- java对象、静态、继承及super
- java 中super方法的用法及意义
- java中关键字 this 和super的作用及用法
- MySQL命令行导出数据库
- poj 1625 (AC自动机 + dp + 高精度(java) )
- 网络管理服务器多做之过
- 【分享】4月安徽区域微博数据之10W抽取样本
- 插入排序
- 8、从零开始学习JAVA--继承及super的用法
- Boyer–Moore string search algorithm
- mysql profile使用
- SAP二分查找法
- 深入理解Android消息处理系统——Looper、Handler、Thread
- iOS之关于GCD(Grand Central Dispatch)
- 润乾报表Flash打印Jar包说明及与Applet打印的对比
- Boyer–Moore–Horspool algorithm
- JAVA操作MySQL数据库类