黑马程序员技术交流社区
标题: 为什么接口中只能有常量 [打印本页]
作者: Alina 时间: 2015-5-31 13:47
标题: 为什么接口中只能有常量
接口中不允许方法的实现,而抽象类是允许方法实现的及定义变量的,因此我们可以看出接口是比抽象类更高层次的抽象。如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为(例如set()方法)来修改属性。那么有些人就会提出可以通过实现接口的类的实例来修改接口的属性。那好,如果接口中有一变量c,我们通过实现它的A类对象改变了c的值,那么实现接口的B类,C类中的c变量都要跟着改变,可想而知这样就会造成混乱,很多想要实现接口的类就不知道接口里现在c变量到底是什么值,因为接口是在变的,它不再是那种高层的抽象,而是带了可变的成分。所谓的抽象就是把一些不可变的东西放在一起,而可变的东西往往放在实现里面。所以我们深思接口的本意所在,实际上它是对一类事物属性和行为的高层次抽象,它体现的是OCP(对修改关闭,对扩展开放)原则,这也是我们软件开发中一直所追求。
作者: 破烂小白 时间: 2015-5-31 13:52
认真学习了
作者: ssc911361 时间: 2015-5-31 13:59
讲的很深入呀!!!!!
作者: tanzhixue 时间: 2015-5-31 14:03
写的很好,理解也不错,很有前途,我是谭教父,有空过来找我,咱们交流一下吧
作者: Alina 时间: 2015-5-31 14:07
这个可以有{:2_31:}
作者: 2baby 时间: 2015-6-1 21:54
讲的好好
作者: 李志鹏 时间: 2015-6-1 22:00
赞一个!
作者: wsdlshu 时间: 2015-6-1 22:08
写的很好,理解也不错,很有前途,我是谭教父,有空过来找我,咱们交流一下吧
作者: 胡本超 时间: 2015-6-1 22:11
不错哦。解释听详细的。
作者: zhangjnia 时间: 2015-6-1 22:18
讲的不错
作者: Alina 时间: 2015-6-7 16:27
哪个谭教父
作者: 守株人 时间: 2015-6-7 21:25
学习了,谢谢分享
作者: 给点正能量 时间: 2015-6-7 23:53
总结的不错,好用心啊
作者: 雪域星辰 时间: 2015-6-7 23:57
学习了。。。
作者: pizhihui 时间: 2015-6-8 00:18
讲的真的挺深入的啊!很详细,进一步了解Java语言了
作者: 杜黎明 时间: 2015-6-8 00:19
。。。。。。。路过
作者: java8023 时间: 2015-6-8 00:22
讲的很好,很透彻,谢谢分享!!!
作者: qian0217wei 时间: 2015-6-8 00:30
我是来学习的,讲解的很详细!
作者: xiaodong 时间: 2015-6-8 00:55
学习了,谢谢!!
作者: 黯然残影 时间: 2015-6-8 12:04
学习学习,总结的很好
作者: hellotaomi 时间: 2015-6-8 14:52
嗯嗯,很有道理~
作者: 经济 时间: 2015-6-8 15:23
嗯,不错,本质在于,接口是一种规范
作者: wuyusi 时间: 2015-6-8 19:53
学习学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |