Java是一种“完全”面向对象的语言吗?

时间:2014-11-10 12:58:52

标签: java object

最近,在一次面试中,我被问到了#Java; Java是完全"面向对象的语言?"

由于我完全无法回答这个问题并且不知道答案,请有人帮助我理解这个问题的本质。

正如我所看到的那样,问题正在被关闭,因为基于意见的问题是"这不是我要求的意见。我问我是否不知道完全/不完整的类别。

请告诉我这是否是一个错误的论坛。

4 个答案:

答案 0 :(得分:3)

Java有基元。基元不是对象。

答案 1 :(得分:2)

没有。 Java不是因为它支持要使用的原始数据类型[^],如int,byte,long ......等,它们不是对象。

编程语言纯粹面向对象需要满足七个品质。他们是:

  • 封装/数据隐藏
  • 继承
  • 多态性
  • 抽象
  • 所有预定义类型都是对象
  • 通过向对象发送消息来执行所有操作
  • 所有用户定义的类型都是对象

答案 2 :(得分:2)

取决于你如何看待它,但是,正如@biziclop所说,这是一个意见问题。

为了解决这个问题,如你所知,Java是一种面向对象的语言,但它仍然可以在其中进行函数式编程(一种采用原始参数并返回结果的静态方法)。

由于基元不是对象,因此可以使用Java进行非对象编程。

从技术上讲,不,Java不是一种完全面向对象的语言。

答案 3 :(得分:0)

Java不是100%面向对象的,因为它仍然包含 Primitive数据类型

例如:

int i=0;

此处i不是对象,但包含实际值。

然而,

Set<String> set=new HashSet<String>();

set是引用HashSet的引用