java - 什么时候一种语言会被称为完全面向对象的语言?

标签 java oop primitive-types

<分区>

我提到了来自 Google Playstore 的一个名为 AllTech 的教程应用程序,其中说 java 不是完全面向对象的语言,因为它使用原始类型。

我想知道为什么它不是完全面向对象的语言,因为它使用原始类型。每个面向对象的语言都有原始类型。

那么什么语言才能成为完全面向对象的语言?

感谢您抽出宝贵时间对此进行调查。

最佳答案

封装。 遗产。 多态性。 抽象。

如果语言具有这些属性,那么它就可以用来进行“完整的”面向对象编程。

在 Java 中,原语不是对象。这是一个有意识的设计决定,以提高性能方面。例如,int 没有抽象,您也不能从 int 继承并且 int 不封装任何东西(甚至不封装任何东西)它包含的位数),int 也不能是多态的(尽管编译器在某种程度上“帮助”了自动装箱和提升)。

因此,在某些方面,一种语言需要一些东西才能完全面向对象,但在其他方面,它需要缺少一些东西才能对象-导向。 Java 是完全面向对象的,但它也有原语。如果缺少它们,那么它将只是面向对象的。

人们开始以混合模式学习 Java。他们学会一起使用对象和基元。这有一些好处和一些风险。风险在于他们可能会在不接受面向对象观点的情况下进行编程。优点是他们可以在学习面向对象的同时利用更熟悉的迭代编程范例。

真正的程序很少会只坚持一种范式而不是另一种范式,但当他们这样做时,他们通常会看到优势,因为当两种方法发生冲突时不必处理有问题的部分。

关于java - 什么时候一种语言会被称为完全面向对象的语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32909334/

相关文章:

c++ - 将 int 放入 char 数组中是否需要放置 new 合法?

java - Hazelcast 内存不足

java - 如何将我的项目转换回 IntelliJ 项目?

Java UI,尝试在单击按钮时转到下一页

mysql - 处理 OOP 连接到 MySQL 数据库

java - 访问表示原始类型的调用对象

java - 原始数组初始化没有值?

java - 等效 Java 和 Kotlin Stream 代码之间的意外类型差异

javascript - .map() 无法访问对象的 this.function

Java是按值传递吗?