【问题标题】:Why is java.lang.String capitalized the way it is?为什么 java.lang.String 按原样大写?
【发布时间】:2015-05-04 21:33:08
【问题描述】:

为什么String类是大写的,而java和lang是小写的,另一个例子是System.out.println,println是一个方法所以需要小写,但为什么out是小写?是我遗漏了什么还是有人不遵守自己的规则?

【问题讨论】:

  • 因为它是Java naming convention。另外,System 中的out 是一个公共字段。
  • 什么是javajava.lang 是什么? java.lang.String 是什么? System 是什么? java.lang.System 是什么? System.out 是什么?什么是PrintStream#println
  • 包是小写的。类是大写的。 System.out 应该大写,因为它是 static final,但 Java 中还有其他 static final 字段是小写的(例如 File.separator)。
  • @JaredRummler 这有点棘手。它们并不是真正的常量,而只是写保护

标签: java string oop naming-conventions


【解决方案1】:

类名的首字母大写。根据命名约定,包名称始终为小写。

java.lang是包名

String 是类名

对于 System.out.println(),它会这样分解

System是类名,所以第一个字母是大写

out 是一个公共静态字段,属于PrintStream 类,因此可以直接访问。

println()PrintStream 类的一个方法

使用示例为System.out.println("Hello World");

更多信息可以在http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#out的文档中找到

【讨论】:

  • 我认为 java 和 out 是嵌套类。有人在评论中说是公共字段,这是真的还是它也是一个嵌套包?
  • 根据文档out 是一个公共静态字段docs.oracle.com/javase/7/docs/api/java/lang/System.html
  • 如果您认为我已经正确回答了您的问题,请接受我的回答。
  • 能否请您更新您的答案以包括 out 部分,如果可能的话,可能还包括 out 字段的一些源代码。
【解决方案2】:

System.out.println() 这里的全部不是方法名。这里只有println() 是方法名,并且是小写的。 System 是类名,out 表示我不需要隐式创建的标准对象。

java.lang 是包名,String 是类名。 java.lang.String 整体不是类名,是完全限定的类名。包名中的每个组总是以小写开头。java 中习惯按照这种约定编写类名和包名。

【讨论】:

    【解决方案3】:

    “命名约定使程序更易于阅读,从而使程序更易于理解。它们还可以提供有关标识符功能的信息——例如,它是常量、包还是类——这有助于理解代码。”

    参考:Java Naming Conventions

    因此,在您的示例中,“java.lang”是包名,“String”是遵循 Java 命名约定的类名。

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      相关资源
      最近更新 更多