Java语言没有运算符重载是否有背与OOP的目标

语言是工具 是用来解决问题的工具 paradigm是思维定式 读书读傻了才会觉得严格遵守一个paradigm是重要的 话说有语言是绝对pure的某个特定paradigm么?
■网友
运算符重载本质上是编译期语法糖,sun早期设计java时一个原则就是尽量避免语法糖,力求做到java代码与字节码一一对应,因此不支持算符重载是可以预期的。
抛开来讲,算符重载也并不是一种特别的“隐藏细节”的实现,跟正常方法调用没有本质区别。

■网友
谢邀。
没理解题主是什么意思。
我一直以为oop是相对抽象,忽略本质的。
我觉得语言的特性和编程思想关系不大。

■网友
【Java语言没有运算符重载是否有背与OOP的目标】 谢邀
语法不会限制编程思想的表达,重载运算符无非就是一个语法糖
面向对象编程的核心是封装、继承与多态 Java 对这些都提供了支持
而且 Java 也不是纯粹的面向对象的编程语言
纯粹的没有例外的没有副作用的编程语言在工程上没有意义

■网友
OOP更关注本质?这句话有待考证。OOP之所以“OOP”就是因为忽略细节,强调封装。重载运算符这种东西还是太细节化,并且某些情况下确实可能引起混乱。不支持重载运算符的JAVA不还是用得好好的?要想实现重载的功能也可以直接封装进类里,不一定要以重载运算符为代价。


    推荐阅读