首页 > 解决方案 > 名为“System”类的用户搞砸了 System.out.println

问题描述

我有一个名为 System 的类,但是,当我尝试在其他类中使用 System.out.println 时,它返回错误:“无法解析符号 'out'”。我假设使用我创建的 System 类而不是 Java 语言包中的实际 System 类。有没有办法让 Intellij 在 Java 语言中使用 System 类,或者这只是一个普通类的名称矛盾,我根本不应该为任何用户制作的类使用像“System”这样的名称?

标签: javaintellij-idea

解决方案


检查您的导入语句。您可能会将自己的System类导入到类文件中。如果是这样,任何时候您引用 just System,该类文件都将使用您的导入。

如果你坚持使用“System”作为你自己的类名(不一定推荐),你总是可以java.lang.System.out.println()在你的代码中使用完全限定的。

我的建议是将您的System课程重命名为不同的名称。就个人而言,我Utility在我的项目中使用一个类来提供可能属于“类系统”类别的自定义方法。

java.lang虽然肯定有例外,但一个好的一般规则是不要将您自己的类命名为与项目中找到的任何类相同。这些类对于 Java 语言是如此不可或缺,以至于您很可能只会让您自己和其他任何试图阅读和理解您的代码的人感到困惑。


推荐阅读