大家好,今天小编关注到一个比较有意思的话题,就是关于java语言封装的问题,于是小编就整理了2个相关介绍Java语言封装的解答,让我们一起看看吧。
JAVA里面的封装是不是多此一举?
在你说的这样的场景下,这些封装的确完全是多余的,这点我首先表示完全认同。但在实际真实的项目中,你这样的场景完全不存在。
几个小例子:
①我有一个属性age必须不小于0,如果它是public的可以直接修改,我如何在设置的时候验证?但setAge封装方法可以做到。
②数据库里面存储了固定以人民币为的价格属性price,需要自动显示成不同国家的货币怎么办?我可以给他增加一个汇率属性,方法始终都保持一致叫getPrice,这样别的地方都不用变就能搞定。
③你自己当然知道哪些该访问哪些不该访问,但一个项目小则三五人多则成百上千,你能保证他们每个人都知道吗?我只能通过public/private强制让他们知道。
这样麻烦是麻烦点,但大家都按照这个规则来,就能尽量减少出错。
PPS:Kotlin能省下你的这些烦恼。
c语言为什么就不能把j***a压倒?
作为实际上排名第一第二的语言,c和j***a一直就是并驾齐驱的引领语言排行榜。
我们看下TIOBE(The Importance Of Being Earnest,翻译成中文是不可儿戏)语言榜(综合各大搜索数据等其他数据的综合语言关注程度的排名)。
基本是十年内的两者的动态曲线,还比较吻合,有几段c语言第一,其他j***a都是第一。不过这样算是忽略了另一个语言C++,稳稳的千年老三。他是来源于对C并对c的改进,c如果加上c和C++那就是一直C*(c#就名字像,没有啥直接干系,倒是c#和j***a一直都是两个冤家,功能及其相似)一直坐着大宝座,压着j***a。
在2017年的排行中c可能结缘于物联网兴起c又爆发了一次,并第二次取得了年度最受欢迎语言
更长期的语言排行名字显示结果也大致这样,我们的结论就是j***a势不可挡、C语言老当益壮
关于两者的对比,笔者的另一个回答中也说过了C用于底层类库、算法和操作系统、硬件驱动等方面的应用。高效而基础,在任何时候都是不可或缺的一部分。出现过很多说要替代c语言的程序语言,比如golang,基本上就是喊个口号,c依然我行我素,稳坐撸码。
没有发动机,汽车跑不了。没有c,没有tcp。unix,webkit浏览器qq,photoshop,各种大型网游。
但光有发动机你也没法坐汽车。所以还得有一堆各种框架让你完成特定的需求。J***a做很合适。。。
语言的开发都有适用的范围,C语言能够操作指针,能高效访问内存,适合底层开发!j***a将指针封装,面向对象开发,适合较大工程应用开发,包括web等,而目前随着互联网和移动应用的大规模普及,J***A作用弥足珍贵
各有各的应用场景,不能谁把谁压倒。C语言和J***a都有各自的优势,不会谁压倒谁的吧,只是说哪些应用里哪种语言更适用或用得更多。
比如J***a的开源性可移植性,J***a就很方便移植,把J***a代码在对应平台的Jvm中,而C就很难达到这种程度。但是如果用J***a来搞系统层、驱动层,那与C比较起来,你会发现那种难搞程度让你爱上C的。
当然事物的发展谁也无法说清楚,几十年后C可能把J***a压倒,也有可能J***a把C压倒,不可预知啊。
谢谢邀请,任何语言都有其真实的存在原因,术业有专攻,未来会出现越来越来多的编程语言,但也不会动摇C语言基础根基地位,在系统和底层效率方面有强大的优势,但是毕竟大部分软件的开发还是以应用型为主,所以各种高级编程语言应运而生,至于J***A由于出现的时间比较早,占据了很大的先机,所以在市场上使用范围非常的广泛。不是谁比谁强的问题,事谁更加合适的问题。
希望能帮到你