我想知道Java是否纯粹面向对象。请举例说明。我已经搞砸了,但我找不到确切的答案。
答案 0 :(得分:17)
关于Java是否纯粹面向对象,存在很多争论。
Java应该被认为是纯粹的面向对象语言,因为它有包装类。
因此,您可以使用Integer
,Float
等代替int
,float
等。(总共有八种基本类型)。
但是由于Java有这八种原始类型,批评者会说Java并不是纯粹的面向对象。
答案 1 :(得分:12)
例如,它包含8种原始数据类型。
对于“ pure oo ”的语言,一切都应该作为对象存在,但int
,float
,char
,...等不是Java中的对象。
以下是一个例子:
int i = 42;
System.err.println(i.toString());
答案 2 :(得分:6)
Java是一种OOP语言,它不是纯粹的基于对象的编程语言。 许多语言都是面向对象的。编程语言有七种质量可以满足纯粹的面向对象。他们是:
Java不是因为它支持要使用的原始数据类型,如int,byte,long ...等,它们不是对象。 与像Smalltalk这样的纯OOP语言形成对比,其中没有原始类型,boolean,int和方法都是对象。
此答案取自http://wiki.answers.com/Q/Why_is_Java_not_a_pure_OOP_Language
答案 3 :(得分:5)
不,它有原始数据类型,因此我会说它不是完全面向对象的。 我认为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