这期内容当中的小编将会给大家带来有关java中类的继承和多态,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
类的继承
子类及其定义
子类的定义使用关键字extends
格式:
class SubClass extends SuperClass{ ........ }
子类可以继承父类的属性和方法;子类不能继承带private修饰符的属性,方法;子类不能继承构造方法
单继承:
Java只支持单继承,即只能从一个类继承,extends关键字后面的类名只能一个。
优点:可以避免多个父类之间可能发生的冲突。
interface接口机制,允许一个类实现多个接口
super关键字
super关键字指向该关键字所在类的父类,父类引用变量可以指向子类对象
格式:
super.someNethod([paramlist])//调用父类中的someMethod()方法
子类对象的创建
步骤:
分配对象所需的全部内存空间,并初始化为0值
按继承关系,自顶向下显式初始化
按继承关系,自顶向下调用构造方法
子类对象初始化的另一种表述:
基本初始化,执行构造方法,先执行父类构造方法,执行父类构造方法之前,要执行父类显式初始化语句。
方法的重写
(1)子类中重写方法的返回值类型必须与父类中被重写方法的返回值类型相同
(2)子类中重写方法的访问权限不能缩小
(3)子类重写不能抛出新的异常:方法的重写是实现对象运行时多态的基础
多态: 编译时多态和运行时多态
编译时多态:比如重载
运行时多态:比如重写
上溯造型
将一种类型对象的引用转换成另一种类型对象引用
向下造型(强制类型转换)
instanceof
运算符
aOblectVariable instanceof SomeClass
aOblectVariable
是 SomeClass
类型时,该表达式的值为true,否则为false
格式
(SomeClass)aObjectVariable
(1)对象变量转换的目标类型,一定要是当前对象类型的子类
(2)在运行时刻也要进行对象类型检查
Object类
java中的每个类都是Object类的直接或间接子类。
equals类:比较两个对象的值
重写equals()方法目的:定义对象的值
Java规定:两个值相等的对象hashCode()返回值要相等,所以重写equals()方法,同时也要重写hashCode()方法,“==”比较两个对象的地址。
toString()方法
返回对象的字符串表示。
getClass()方法
返回对象的类信息,该方法返回一个Class类型的对象。
上述就是小编为大家分享的java中类的继承和多态了,如果您也有类似的疑惑,不妨碍参照上述分析进行理解。如果想了解更多相关内容,请关注亿速云行业资讯。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。