java 定义名称为 Object 的类

标签 java

我在包 java.lang 中创建了一个名为 Object 的类。在另一个包中,我创建了 Main 类。现在在 Main 类的主要方法中,当我编写 new Main() 并在之后放一个点时,我看不到 equals()wait() 等。即实际 Object 类的方法。

我的问题是,您不认为不应允许创建名称为 Object 的类(特别是使用 java.lang 包)。由于对象类默认被所有类继承,所以在我的例子中,我定义的任何类都会自动继承我的类而不是实际的对象类,因为我的对象类的类名和包名与实际对象类的相同。

最佳答案

这是一个开放式的问题。

应该允许吗?为什么不,如果您知道自己在做什么,那就发疯吧。

我同意这在理论上有点危险,但我看不出有人会错误地这样做。如果某人出于某种原因(例如学术原因)实际上想要重新定义整个 Object 类,那么他/她可以自行承担风险。

没有任何语言可以完全阻止您将箭射向自己的膝盖。

关于java 定义名称为 Object 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986667/

相关文章:

java - Maven编译失败(但Eclipse下编译成功)

java - 无法禁用 csrf Spring boot

java - 将 CLOB 插入 Oracle 数据库

java - 查找 ArrayList 中的最大值

java - 面积图系列

java - Java中将文本数据处理为图像对象的最有效方法?

java - 在 DefaultStyledDocument 上设置字体颜色

java - 使用 Volley 的 JSON 请求

java - logback.xml 在普通 Java 项目中被忽略

java - 如何通过从 java 类传递参数来调用 jar