- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题已经问过before但我没有从那里找到很好理解的答案。我实际上想知道,与 c++ 不同,类对象 不能在java 中静态 创建,为什么? Java 设计者希望避免发生的静态创建对象的主要缺点是什么?
谢谢。
最佳答案
好问题。人们很想说这是因为语言的作者比你更了解什么值类型您需要并提供了它们,并且不想让您定义新的(例如 Complex)。当然还有一些那:它还解释了缺少运算符重载的原因。
但我怀疑那不是人们心目中的原因Java作者。你需要动态分配和指针(什么Java 在某些情况下调用引用),例如多态性时涉及到,而 Java 作者只是简单地决定他们将只支持这个成语,而不是让语言更通过让它支持几种不同的习语而变得复杂。它是当然,当你真正需要值语义时,这是一种痛苦,但是小心,您可以模拟它们(java.lang.String
将是一个很好的例子)通过使类 final
并且不可变,返回新实例的“运算符”。
当然,C++ 增加的表现力确实提供了更多出错的可能性:取本地地址很容易变量,例如,并以悬空指针结束。但仅仅因为你可以做某事并不意味着你必须做;在 C++ 中,一个不称职的程序员可能会使程序崩溃立即,在 Java 中,他通常会以错误的结果(尽管未捕获的异常并不少见要么)。
关于java - 为什么类对象只能在java中动态创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24179497/
有一条(相对)众所周知的 Perl 公理:“只有 Perl 可以解析 Perl”。我想知道 Perl 6 是否仍然如此? 扩大讨论...考虑到 PyPy 最近的更新,我想到了这个问题。 Perl 独特
这是设置。在上一个问题中,我发现我可以通过子组件中的状态传递对象属性,然后使用 componentDidUpdate 获取该对象属性。在这种情况下,状态和属性都称为到达。 这是基本代码... expo
我运行的是 10.5.2 社区版。我已经标记了 源/主要/资源 作为源目录。我可以右键单击并“编译”某些文件,据我所知,这意味着 IDE 将文件复制到与发送类文件的“com.mydomain.pack
我是一名优秀的程序员,十分优秀!