一篇文章带你详细理解java中类的继承与多态

本文由java入门程序栏目为大家详细介绍java中类的继承与多态的概念,希望可以帮助到正在学习java的同学。java中的子类的定义一般使用关键字“extends”,Java只支持单继承,这样可以避免多个父类之间可能发生的冲突。

一篇文章带你详细理解java中类的继承与多态

类的继承

子类及其定义

子类的定义使用关键字extends

格式:

class SubClass extends SuperClass{
........
}
只听到从山间传来架构君的声音:
十四为君妇,羞颜未尝开。有谁来对上联或下联?

子类可以继承父类的属性和方法;子类不能继承带private修饰符的属性,方法;子类不能继承构造方法

更多相关视频教程推荐:java在线学习

单继承:

Java只支持单继承,即只能从一个类继承,extends关键字后面的类名只能一个。

优点:可以避免多个父类之间可能发生的冲突。

interface接口机制,允许一个类实现多个接口

super关键字

super关键字指向该关键字所在类的父类,父类引用变量可以指向子类对象

格式:

此代码由Java架构师必看网-架构君整理
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入门程序

本文来源,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/35581
0

发表评论