Java是纯粹的面向对象还是不是?
我想知道Java是否纯粹面向对象。 请用例子解释一下。 我已经瞪了它,但我找不到确切的答案。
关于Java是否纯粹面向对象,有很多争论。 Java应该被认为是纯粹的面向对象语言,因为它有包装类。 所以你可以使用Integer
, Float
等代替int
, float
等(总共有八种基本类型)。
但由于Java有这八种原始类型,批评者会说Java并不是纯粹的面向对象。
例如,它包含8种原始数据类型。 对于一个“ 纯粹oo ”的语言,一切都应该作为对象存在,但int
, float
, char
,..等不是Java中的对象。
这是一个例子:
int i = 42; System.err.println(i.toString());
Java是一种OOP语言,它不是纯粹的基于对象的编程语言。 许多语言都是面向对象的。 编程语言有七种质量可以满足纯粹的面向对象。 他们是:
- 封装/数据隐藏
- 遗产
- 多态性
- 抽象化
- 所有预定义类型都是对象
- 通过向对象发送消息来执行所有操作
- 所有用户定义的类型都是对象。
Java不是因为它支持要使用的原始数据类型,如int,byte,long ……等,它们不是对象。 与像Smalltalk这样的纯OOP语言形成对比,其中没有原始类型,boolean,int和methods都是对象。
这个答案来自http://wiki.answers.com/Q/Why_is_Java_not_a_pure_OOP_Language
不,它有原始数据类型,因此我会说它不完全面向对象。 我认为Smalltalk可以被认为是纯粹的面向对象而不是java。
直接来自wiki Smalltalk is a "pure" object-oriented programming language, meaning that, unlike Java and C++, there is no difference between values which are objects and values which are primitive types. In Smalltalk, primitive values such as integers, booleans and characters are also objects
Smalltalk is a "pure" object-oriented programming language, meaning that, unlike Java and C++, there is no difference between values which are objects and values which are primitive types. In Smalltalk, primitive values such as integers, booleans and characters are also objects
- Android XML文件java.lang.nullpointerexception
- android XML视图不在Eclipse中显示ToggleButton
- 如何在ContainerRequest中获取会话对象以使用注释@RolesAllowed(Role_user)?
- 每当我向数据库添加一些表时,都没有这样的表错误
- 在套接字上发送和接收文件
- 列表在更改活动后查看消失
- 无法从META-INF读取文件
- 线程“main”中的exceptionjava.lang.NoClassDefFoundError:org / apache / xmlbeans / XmlException
- 如何使Android应用程序自动配置调试与发布值?