Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java命名约定_Java_Naming Conventions - Fatal编程技术网

Java命名约定

Java命名约定,java,naming-conventions,Java,Naming Conventions,在过去的一周里,我一直在努力学习Java,到目前为止,我已经能够编写出合理的代码。然而,我似乎在理解Java命名约定时遇到了问题 我刚刚看了一篇教程,上面说类名应该以大写字母开头。如果我看一下到目前为止我写的代码,我实际上使用了小写名称,例如: import java.io.*; import java.util.*; class orange implements Comparator { public int mango(...) { } } class jason {

在过去的一周里,我一直在努力学习Java,到目前为止,我已经能够编写出合理的代码。然而,我似乎在理解Java命名约定时遇到了问题

我刚刚看了一篇教程,上面说类名应该以大写字母开头。如果我看一下到目前为止我写的代码,我实际上使用了小写名称,例如:

import java.io.*;
import java.util.*;

class orange implements Comparator {
    public int mango(...) {
    }
}

class jason {
    public static void main(String args[]) throws java.io.IOException {
        {
            //content here
        }
    }
}
如您所见,我的两个类名都以小写开头。 当我编译并执行程序时,我没有得到编译错误,并且一切都按预期工作。我本应该认为,由于类名是小写的,它最终会出现编译错误:但这并没有发生。为什么?


如果有帮助的话,我运行OpenJDk/IcedTea。

这是一种约定,而不是编译器规则


如果愿意,您可以打破它,但我建议遵循约定。

类名以大写开头是一种约定,但编译器不强制执行它。方法名也是如此(尽管它们以小写开头)


我从未见过小写的类名。不要这样做。

命名约定只是约定,而不是规则。Java语言规范并不关心这两种情况。但是如果你不遵守约定,你的代码将很难让其他人阅读和理解,所以你真的应该遵守它们。

这与编译器语法无关。它是关于遵循编码约定的

你的代码中没有提到约定


Java编译器不强制执行命名约定。之所以称之为约定,是为了便于阅读代码。例如,当您看到一个
橙色的
,它可能是一个变量,无需查找。在您的情况下,您的代码的读者会非常惊讶。

您打破了命名约定,而不是语言的语法,这就是为什么您的代码编译时不会出错

命名约定主要用于提高源代码的可读性,并减少理解代码所需的工作量

命名约定是决定命名内容时要遵循的规则 您的标识符(例如类、包、变量、方法等)及其 这也不例外

一个好的程序员必须并且将遵循任何编程语言中指定的命名约定,以获得一个整洁有效的程序


有关更多JAVA命名约定,请参阅。

JAVA是一种在世界范围内广泛使用的语言。每时每刻都有很多基于java的应用程序。在同一个开发人员的整个生命周期中,不必使用/维护相同的代码。因此,为了避免歧义并使其易于理解和重用,遵循命名约定。猜猜如果我们每个人都使用自己的约定会发生什么。这将对代码的可重用性产生不利影响,因为其他程序员在编写代码之前需要花很多时间来理解代码。因此,要求每个java开发人员都知道并遵循标准协议,以便每个协议都在同一页上。

编译器不强制执行。是的。这段代码不应该编译。无效语法。谢尔盖,你能解释一下你为什么说无效语法吗?怎么了?