趣文网 > 作文大全

程序进阶:Java三大特性详解

2020-11-28 05:55:01
相关推荐

在上一篇文章中老梁粗略地给大家介绍了一下什么是类和对象,并且提到了Java的三大特性,封装、继承和多态。在今天的这篇文章中,就详细的介绍一下Java的三大特性,如果有什么遗漏的地方欢迎大家批评指正,不过还希望措辞能够和缓一点儿。

开个玩笑

那么咱们就来以相对简单的封装开始,在上一篇文章中老梁介绍了封装的意义---通俗来说就是为了数据的安全,避免用户直接接触到数据,增加程序的安全性。在上一篇文章中老梁创建了一个猫类,今天咱们再对它进行改造,通过对比来表现封装的实际意义。对上一篇文章的例子如下图:

从上面的程序我们可以看出,我们在给猫对象起名字的时候是直接调用的猫的名字属性,这样在这个对象输出的时候,就可以直接打印出猫的名字。这样看起来没有问题,程序也可以运行起来,但是这段程序存在着很大的问题,这些问题不是技术的错误,而是属于编程不规范的范畴。要知道在实际编程中,类的属性是绝对不允许暴露的,这样会给程序带来很大的安全隐患。于是程序员通常采用封装的形式,来避免这种情况。具体的封装见下图:

以上就是Java封装与不封装的区别,但是看到这里也会有许多小伙伴会感到迷惑:我没看到有什么明显的区别啊,不过是在传值的时候没有直接进行罢了,这样做不是更加麻烦吗?实际上这样做的确是更加麻烦,但是这一步却并不是多此一举。实际上封装的好处还有许多。首先封装可以隐藏类的内部属性,并且对用户隐藏了数据的访问方式,这样可以保护类的内部状态。封装可以防止类中的方法访问属性,防止对象间的交互,提高Java程序的安全性。将类封装起来,不可为外部访问,可以防止开发人员浪费不必要的精力。

好了,封装的讲解就到这里,其实仔细理解起来封装的概念还是比较简单的。下面咱们就来讲一下Java的继承,这个算是重中之重了。还是以咱们的猫类为例,现在我想新建一个宠物狗类,对于宠物狗来说它具有名字、性别等特征。哎,咱们通过对比发现宠物狗和猫都有名字和性别两个属性,那么咱们能不能为了节省代码,将这些属性给集合在一起呢。当然没问题,我们都知道宠物猫和狗都属于宠物,那么我们只需要新建一个父类Pet让宠物猫Cat和宠物狗Dog继承即可,宠物们在继承的同时又具有自己特有的属性和动作方法,这个过程就叫做继承。而它们的关系代码可以这样写,如下图即可:

猫继承

狗继承

父类,宠物类

通过上面的代码我们知道,继承可以减少代码量,需要注意的是一个子类只能继承一个父类,说的通俗一点就是一个子类只能有一个“亲妈”。并且当子类中从新定义一个父类除了方法体其他的都相同的方法,这个过程叫做方法的重写,请记住和之前学习的方法重载的区别。

以上是Java继承的讲解,关于多态这一特性我们可以通过在上面描写的方法的重写来进行描述。多态使用时的三个必要条件是存在继承、重写、父类对象引用子类对象。一般情况下我们都是使用子类继承父类,这个过程算是多态的向下转型。而当一个父类实例化一个子类对象时,这种多态属于向上转型。而对于多态来说,就是可以消除类型之间的耦合,增加可扩充性,可以使得Java的对象更灵活的调用方法,具体的例子参看一下图片:

第一部分代码

第二部分代码

运行结果

上面的这个例子是老梁在网上搜集的,算是一个比较典型的多态例子,希望大家能够有所收获。

好了,今天就是老梁带给大家的文章。在本文中算是比较详细的介绍了一下Java程序的三大特性:封装、继承、多态,解释的还算是比较详细。希望可以给你带来一些启发,如果有哪些地方出错,请及时告知老梁,老梁会马上改正免得误导别人。欢迎在评论区交流,大家共同进步。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

初一写人作文 元宵节作文结尾 以爱为话题作文 说说我自己作文 课外活动作文 打破常规作文 时事评论作文 关于孔子的作文 人间真情的作文 有关母亲的作文 持之以恒的作文 写给男朋友的小作文 作文批改评语大全 有关环保的作文 雨露作文 我的新老师作文 三年级作文国庆节 十字路口作文 爱护环境的作文 小学国庆节作文 写老师的作文题目 四级英语作文预测 学会放弃作文 跨越再跨越作文 红楼梦高考作文 我喜欢的老师作文 我的大学生活作文 小学生想象作文 关于规则的作文 经典作文素材