Java的继承与抽象

Java的继承允许子类从父类继承方法,提高代码复用性和维护性,但可能导致耦合度增加。抽象类无法实例化,常用于抽取共同特征,包含抽象方法,需要被子类继承并实现。Java支持单继承和多代继承,而接口实现支持多继承。
摘要由CSDN通过智能技术生成

继承

什么是继承

继承的概念
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承: java面向对象三大特征之一
含义: 子类继承父类,可以直接使用父类的属性和方法(主要使用方法)
父类: 有时候也会被别人叫做 超类、基类。
关键字: extends
继承: 类和类之间的关系
继承的作用
子类拥有父类的属性和方法,减少重复的代码,维护性高。
代码简洁,提高了代码的复用性。

继承的特性

子类拥有父类非 private 的属性、方法
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
子类可以用自己的方式实现父类的方法
提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)
Java 的继承是单继承,但是可以多代继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性

继承的关键字

继承关键字
class——定义类
interface——定义接口
extends——继承父类
implements——实现接口
extends和implements的区别
相同点
都属于Java中的继承
都发生在多各类中
不同点
extends只能单继承,implements可以实现多继承
extends继承父类时,父类中可以存在方法的默认实现
而implements在实现接口时接口中不能有方法实现
extends发生在子类和父类之间,implements发生在实现
类和接口之间

继承的优点

提高代码的复用性
子类中重复的代码只需要在父类中写一遍,所有子类都可以应用
提高代码的可维护性
只需要修改父类属性和方法,所有的子类都会应用
提高类和类之间的关联性,为多态做基础
其实这也是继承的缺点,增加了类和类之间的耦合度,耦合度的增加意味着后期扩展性的降低

抽象类

抽象类的定义

抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类:被abstract修饰的类就叫抽象类
把一些类的共同特征抽取出来,放到一个类中,这个类就叫抽象类。

抽象类的特性

抽象类不能被实例化
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用
在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口
特点:
1 抽象类可以有构造方法,但是不能创建对象,抽象类的构造方法是给成员变量初始化的。
2 抽象类中可以有普通的成员变量,也可以有静态成员变量
3 抽象类里面有抽象方法,普通类里面不能有抽象方法
4 普通类继承了抽象类,必须重写抽象类中的抽象方法
5 抽象类也可以有普通的方法。
注意: 抽象类天生就是当爹的。

抽象类和普通类的区别

抽象类不能被实例化
普通类可以被实例化
抽象方法无方法体
普通方法有方法体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值