当前位置: 首页 > 面试题库 >

为什么Java中的文件名与公共类名相同?

锺高翰
2023-03-14
问题内容

在Java中,文件名应与该文件中public class包含的文件名相同。为什么会有限制?它有什么作用?


问题答案:

Java有一个有趣的方法:给程序员一个选择只能降低编程经验,而不必选择。

他们在很多地方都这样做。确保使用文件名和软件包,但不允许在文件中使用多个公共类(从来没有),不允许您在文件之间拆分类(该死,很难使用!),等等。

我真的希望他们走得更远。没有理由使用公共变量:我从来不需要一个变量,也从未见过一些聪明的html" target="_blank">程序员认为需要一个变量并且实际上是正确的情况。

我也不介意看到方法/类的大小限制,但是这可能会很粗略(可以很容易地由代码检查器实现,问题通常是,需要最大帮助的公司就是那些不知道需要帮助的公司帮助,因此,请勿使用代码检查器之类的工具)。

这对大多数小型团队而言并不重要,但是当您的团队发展壮大并拥有来自印度,中国和世界其他各地顾问的多个站点时,您就会开始意识到这种灵活性。

针对设置者/获取者的评论:

Java Bean是Borland创建的一种可恶的工具,用于破解其GUI,然后改型为Java。

可怕的想法-从OO编程分散注意力-字母和设置器A)显示了太多的实现,并且B)使您考虑对另一个对象的数据进行操作,而不是要求另一个对象为您执行操作。对于尚无法在OO中进行思考的人来说,是很糟糕的事情。

偶尔需要使用吸气剂,但除非绝对无法避免,否则不应添加。

应不惜一切代价避免二传手。如果在构造对象后绝对需要从外部修改状态,请尝试使用构建器模式并保护您的setter避免在执行任何操作后被调用。

显然,所有事物都有例外,许多“ Getters”实际上是关键的对象业务逻辑,例如String.length(),无论String是如何实现的,甚至不仅仅通过返回属性来实现,都需要使用它。如果您甚至想称呼它为“ Getter”。



 类似资料:
  • 本文向大家介绍为什么Java文件名应始终与公共类名相同?,包括了为什么Java文件名应始终与公共类名相同?的使用技巧和注意事项,需要的朋友参考一下          在Java中,java文件名应始终与公共类名相同。 首先编写Java程序时,它会保存为“ .java ”文件,编译时会形成字节代码,即“ .class ”文件,这样,如果我们使程序文件与该类相似,就会感到很舒服。让我们毫无歧义地理解。

  • 问题内容: 我有一个名为的文件temp.java。我写了下面的代码。为什么这样做? 为什么这不起作用? 问题答案: 在第一个示例中,您的类实际上被声明为“包私有”(没有修饰符),这意味着只有同一包中的类才能访问它。在第二个示例中,您已将其声明为public。 在这种情况下,编译器已经很好地满足了JLS。 JLS指出: 当程序包存储在文件系统中时(第7.2.1节),如果在文件中找不到由类型名加类型组

  • 问题内容: 这是该Java文件的内容: 问题答案: 这些是保存匿名内部类的文件。 在你的示例中,包含一个顶级类(称为)和一个匿名内部类,它们将存储在中。 请注意,包含匿名内部类的文件的确切名称尚未标准化,并且可能会有所不同。但是实际上,除了这里描述的方案之外,我还没有看到其他方案。 的值特定主体也是匿名内部类: 枚举常量的可选类主体隐式定义了一个匿名类声明(第15.9.5节),该声明扩展了直接封闭

  • 我试图编写一个程序,但遇到了以下编译器错误: 我已经检查了我的文件名,我的公共类与我的相同。java文件。 我怎么能解决这个问题? 这是我的代码:

  • 问题内容: 我有一个示例类,如下所示: 稍后,当我尝试这样做时: 我收到一条错误消息,说名称字段不存在。为什么? 问题答案: 因为 类型 的变量是(在 运行时类型 的的 对象 ,在所述变量是实现匿名类的这也是一个 亚型 的)… …并且该类型没有该成员。因此,出现编译错误。(请记住,该变量可以包含符合的任何对象,即使没有的对象也是如此,因此编译器会拒绝不是类型安全的代码。) 编辑:对于一种解决方案,

  • 问题内容: 我最近开始学习Java,发现每个Java类都必须在单独的文件中声明非常奇怪。我是C#程序员,C#并没有实施任何此类限制。 Java为什么要这样做?有设计上的考虑吗? 编辑(基于几个答案): 为什么在IDE时代Java现在不取消此限制?这不会破坏任何现有代码(或者会破坏吗?)。 问题答案: 根据Java语言规范,第三版: 这种限制意味着每个编译单元最多只能有一个这样的类型。 这种限制使J