对Java的四大特性的理解

工作几年再回头聊这些四大特性感觉很easy,的确这是Java的入门知识,但是要把这几个特性说清楚及平时怎么使用,估计好多人含糊其辞,大家估计都是心里明白,爱在心中口难开。这其实是我们对Java的三大特性理解不深,我也借此机会深入理解下Java的三大特性。

一,封装

封装的定义:隐藏对象的属性及实现细节,仅对外公开访问接口,控制外部访问对外接口的访问权限,使对象内部数据及数据操作结合一个整体-类。

封装的目的:增强对象的安全性及简化编程,访问者不需要了解内部 具体实现,只用通过开放的外部接口,当然对外的接口我们可以限制访问权限,对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作

封装的好处:

1.隐藏信息,实现细节,对外开放接口,并控制接口访问权限,比如用户的账号密码是不会让访问者看到,但是我们可以通过登陆接口控制用户的登录

2.良好的封装能减少代码的耦合,当然这个需要

3.专业的分工,单一职责原则-每一个类只负责一项任务,这也是我们写代码会潜意识会遵循这个原则,而不会把人的属性写到牲畜的类里


二,继承

如果两个类的属性,方法相同或相似,我们可以使用继承降低代码的复用。Java中所有的类直接或间接继承于Object类,Object是所有类的父类,而所有子类继承父类的属性,方法,除过父类私有的属性及方法(private修饰),子类可重写父类方法,

继承的特点:

1.子类可以拥有父类非私有的属性及方法,父类的构造方法子类也不能继承

2.子类可以拥有自己的属性与方法,

3.子类可以重写父类的方法,一般这时父类的方法不能满足子类的需求

4.Java的继承是单继承,子类最多只能拥有一个父类

5.向上转型,就比如狗属于动物,我们可以直接叫狗是动物,比如:List list = new ArrayList();


继承的缺陷:

1,继承破坏了封装,父类的属性方法对于子类来说是透明的,这与封装是相背离的

2,继承是一种强耦合关系,代码结构中乱用继承会造成牵一发而动全身


继承的使用:

考虑子类是否要向上转型,如果子类是要向上转型的那用继承合适不过了,如果不是向上转型那就请慎用继承


三,抽象

抽象是现实的真实反应,但却不和任何具体实现绑定。Java的抽象主要是抽象类和接口。

抽象的好处:

1.把对象的共性抽象起来,使的代码编写简单,容易维护,

2.定义接口或抽象类规范,所有实现或继承的类或子类都要遵循这些规范,

3.抽象是对现实的真实反应,但又是高度抽象的,是不能被实例化


四,多态

不同类对象对同一消息作出的不同反应,即猫狗都属于动物,猫叫是咪,狗叫是汪。

多态存在的条件:

1.必须是继承关系

2.子类重写父类方法

3.父类引用指向子类对象

多态的分类:

1.编译期间,即同一个类中方法的重载

2.执行期间,即子类对父类的方法的重写

使用多态的好处:

1.扩充性:多态对代码有扩充性,增加子类不影响其他子类的执行,

2.接口性:多态是超类对子类提供共同接口,子类根据自己情况进行覆盖或实现


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值