Java语言程序设计-基础篇(八)继承和多态
2018-01-31 16:19
323 查看
1.super,extends关键字。
super关键字用来引用父类的构造方法,同时可以调用父类的成员方法。extends用来说明类的继承关系,java中不允许一个类继承多个类,在未声明时所有的类都继承object类。
2.object类
object类是所有类的父类,有些常用方法。其中equals()用来看两个类地址是否一样,若要看内容是否一样需要覆盖该方法。toString()方法用来描述类,返回 “类名@地址”,可以覆盖该方法具体描述类。
3.覆盖与重载
当子类方法与父类方法名字相同,参数不同时称为重载,当名字相同,参数也相同,但是内容不同时称为方法覆盖。调用该方法时首先从子类开始寻找,没有在到父类里面寻找。如果该方法是构造方法,则先构造父类,在构造子类。若无参实例化一个子类,而该类没有无参的构造方法将会编译出错,所以一般要增加无参的构造方法。
4.多态,向上转型与向下转型,动态绑定,instanceof。
Object obj = new Student();其中第一个Obiect obj称为声明类型,第二个Student称为实际类型。所以obj实际上是Student类,当调用toString()方法时,是用的其实际类型的方法,也就是Student类的toString(),而这种调用方法就是动态绑定。这么做的目的是为了提升方法的扩展性,当方法参数调用不同对象时,有不同的内容(类似方法重载),这样也称为多态。也就是将父类型的对象实例作为参数传递方法,根据调用方法的不同子类型对象能有不同的语句。另外,该声明就是向上转型,因为子类型的实例总是父类型的实例。而父类型的实例不一定是子类型的实例,其中obj要想调用Student的方法和属性,需要向下强制转型,转型之前还要看一下到底是不是该子类型。所以有
if(obj instanceof Student){ (Student)obj ; obj.dosomething(); }。
5.再说可访问修饰符。
从公开程度依次下降: public
protected
null
private
从读取权限来说: 不同包 子类
同包 同类
什么等级的修饰符访问什么权限的类型,像下兼容不向上兼容。
相关文章推荐
- java语言程序设计 李元朝 第7章 类的继承和多态机制 典型习题
- java语言程序设计 李元朝 第7章 类的继承和多态机制 练习题答案
- 【JAVA语言程序设计第十版 11.2】+ 多态 + 继承
- 【java语言程序设计基础篇第十章第三题】
- Java语言程序设计基础篇原书第十版第四章编程练习题答案
- 【JAVA语言程序设计基础篇】--图形--练习绘制时钟
- Java 语言程序设计 基础篇 原书第10版 第四章 第1,6~12,16题答案
- 【JAVA语言程序设计基础篇】--事件驱动程序设计--贷款计算器
- 【JAVA语言程序设计基础篇】--事件驱动程序设计--Timer类的动画
- Java语言程序设计-基础篇-第八版-复习题-第八章
- Java语言的三大特性即是:封装、继承、多态
- Java语言程序设计-基础篇(十一)二进制I/O
- JAVA语言程序设计-基础篇课后习题2.1--2.17
- Java语言程序设计-基础篇第六章--数组
- 【JAVA语言程序设计基础篇】--图形--练习绘制多边形
- Java语言程序设计-基础篇-第八版-复习题-第九章
- 【JAVA语言程序设计基础篇】--图形用户界面基础--Swing GUI组件的公共特性
- java语言程序设计 李元朝 第7章 类的继承和多态机制
- Java语言程序设计-基础篇-5.25习题-毫秒转换成时、分、秒
- Java语言程序设计基础篇原书第十版第六章编程练习题答案