Java基础——面向对象

2.1 面向对象的特征:

抽象、继承、封装和多态。

2.2 继承:

继承是面向对象中的一个非常重要的特性。通过继承,子类可以使用父类的一些成员变量与方法,
从而能够提高代码的复用性,提高开发效率。
继承的几个基本特性:
①Java语言不支持多继承,也就是说子类至多只能有一个父类。
②子类只能继承父类的非私有成员变量与方法。
③当子类中定义的成员变量和弗雷中定义的成员变量同名时,子类中的成员变量会覆盖父类中的成员变量,而并不会继承。
④当子类中的方法与父类中的方法有相同的函数签名(相同的方法名,相同的参数个数和类型)
时,子类将会覆盖父类中的方法,而不会继承。

2.3 多态:

表现形式:
① 方法的重载。重载是指在同一个类中有多个同名的方法,但是这些方法有着不同的参数
个数或类型,因此在编译时就可以确定到底是调用哪个方法,它是一种编译时多态。重载
可以被看做一个类中的方法多态性。
② 方法的覆盖。子类可以覆盖父类中的方法,因此同样的方法会在父类和子类中有着不同
的表现形式。

2.4重载和覆盖的区别:

重载:
① 重载是通过不同的方法参数来区分的,不同的参数个数、不同的参数类型或者不同
的参数顺序。
② 不能通过方法的访问权限、返回值类型和抛出的异常类型来进行重载。
覆盖:
① 派生类中的覆盖方法必须和基类中被覆盖的方法有相同的函数名和参数。
② 派生类中的覆盖方法的返回值必须和基类中被覆盖的方法返回值相同。
③ 派生类中的覆盖方法所抛出异常必须和基类(或子类)中被覆盖的方法所抛出的异常
一致。
④ 基类中被覆盖的方法不能为private,否则其子类只是定义了一个方法,并没有实现覆盖。
重改与覆盖的区别:
① 覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水
平关系。
② 覆盖只能有一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。
③ 覆盖要求参数列表相同;重载要求参数列表不相同。
④ 覆盖关系中,调用方法体是根据对象的类型来决定;重载是根据调用时的实参表与形参
表来选择方法体的。
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页