JAVA面向对象五大特征总结——继承、封装、多态、抽象、接口

JAVA面向对象五大特征总结
五大特征:
继承、封装、多态、抽象、接口
(一)继承
概念:继承是子类继承父类的特征和行为,使得子类继承父类的属性和方法,或子类从父类继承方法 使得子类具有相同的行为。
目的:通过继承使得以前代码的复用更加简易,缩短开发周期,降低开发成本
作用:减少代码冗余;书写一个父类,子类可以对父类进行扩展;子类可以对父类重新定义
方法重写和方法重载的区别:
重载(overload):发生在同一个类中 , 方法名相同,参数列表不同,不考虑返回值。
重写(override):发生在父子类中,子类继承父类的方法,方法名相同,参数也相同,但是实现方法体不同。
重写的注意事项:
1、必须保证父子类中重写的方法,方法名相同,参数列表相同。
2、子类方法的返回值必须等于父类方法的返回值范围
3、子类方法的权限必须要大于等于父类方法的权限(不包括 private)。
4、私有的不能被继承。
Super关键字,this关键字
作用:如果子类既想使用自己的方法,又想使用父类的成员变量和成员方法,需要通过super关键字。
Super关键字的用法:
1、在子类的成员方法中访问父类的成员变量和成员方法。
2、在子类的构造方法中访问父类的构造方法。
this 关键字
就代表当前这个对象
继承中构造方法的特点(父子类)
特点:
1、构造方法不能被继承(构造方法是一个类独有的方法)
2、创建子类对象一定是先调用父类构造,再调用子类构造。(并且只有子类构造才能调用父类构造)。
3、子类构造可以通过super关键字调用父类有参构造 无参super() 有参super(参数列表)。
4、super父类构造调用,必须是子类构造中的第一行语句。(并且一个子类构造,只能调用一次super( ) )。必须先有父再有子。

(二)封装
概念:封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制程序中属性的读和修改的访问级别。
目的:是增强安全性和简化编程,保护了私有数据,提高了程序的复用性和可维护性。
广义的封装:一切公共代码的抽取都可以叫封装,体现在公共方法的封装。
狭义的来说:1、将属性私有化 ,使用private关键字修饰。
2、用set( )和get( )方法为私有化属性的修改和提取提供一个公开的接口。
(三)多态
一句话来说:允许将子类类型赋值给父类类型
概念: 父类对象表现多种子类的形态的能⼒的特征,⼀句话多态就是⽗类引⽤⼦类对象。 向同⼀个⽗类的不同⼦类发送同⼀条消息,⾏为不同。
前提:多态的前提是继承和方法重写
向上转型:⽗类引⽤⼦类对象(⾃动成⽴,缺点是失去调⽤⼦类独有⽅法的能⼒)
向下转型:⼦类引⽤⽗类对象(强制转换)
(四)抽象
概念:抽象的父类只有相应的行为,但是不具体。具体的行为要在每一个具体的子类中才有。
抽象类存在的意义:抽象类的存在不是为了创建对象,是为了让子类继承用的。
抽象类和抽象方法使用:
封装了⼀个类,但是这个类不能实例化—定义成抽象类。好处是让所有的⼦类必须实现⽗类的抽象⽅法。
1、使⽤abstract修饰的类是抽象类
2、抽象类有构造,但是不能new
3、使⽤abstract修饰⽅法是抽象⽅法,抽象⽅法没有⽅法体也没有{ }
4、抽象类可以没有抽象⽅法
5、有抽象⽅法的类必须是抽象类
6、抽象类归根结底还是⼀个类,只不过作为⽗类为⼦类服务。所以可以有普通的属性和普通⽅法。
7、抽象类的⼦类:如果抽象类的子类不想实现父类的抽象方法,就需要把这个子类也变成抽象的
(五)接口
概念:公共的规范,大家都要遵从这个规范使用。定制规则,展现多态。
接口的使用步骤:
1、接口中的方法不能直接使用,必须有一个实现类来实现接口
2、接口的实现类必须(覆盖重写)实现 接口中所有的抽象方法
3、创建实现类的对象,进行方法的调用。
注意事项:如果实现类没有覆盖重写接口中的方法,那么这个实现类自己就必须是抽象类。
default 默认方法:增强接口的通用能力
注意事项:
1、类于类之间单继承
2、类与接口是多实现的
3、接口与接口之间是多继承的
4、接口没有构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值