gpt4 book ai didi

java - 我是否必须将一个类声明为公共(public)(它是程序中唯一没有人会使用的类)

转载 作者:行者123 更新时间:2023-12-01 23:53:43 27 4
gpt4 key购买 nike

我是一名计算机科学专业的初学者,正在经历 Java 的挑战。我们必须编写一个有错误的程序;这实际上是一个有趣的练习。我的一位同学通过电子邮件给我发送了一个补丁(英文而不是 diff),并说他将 public 添加到了类(class)中。

这让我感到好奇。这很重要还是只是声明类 public 的约定。该程序有效,据我了解,默认值是package-private,我认为这对于计算机科学学生互相邮寄的蹩脚小脚本来说是最好的。

任何人都可以给我更多关于这一点的见解吗?主要是关于 Java,但一般的 CS 理论可能也很有洞察力,也许还有一些我可以用来进一步研究这些概念的术语。

我想知道我的同学的纠正是否有效和/或重要以及原因。

编辑
抱歉,这是我原来的程序,没有错误

import java.util.Scanner;
/**
* Universal hello translator
* Author: Noel Niles mail: noelniles@gmail.com
*
*/
class HelloUniverse {
public static void main (String [] args)
{
/* code */
int country; //number of country from list
String name; //name of person
String greeting; //hello in different languages

Scanner key = new Scanner(System.in);
System.out.print("Where are you from?\n"+
"Enter a number from the list:\n");

//TODO(anyone): Add some more countries and greetings
System.out.print("1. Afganistan\n" +
"2. Antarctica\n" +
"3. Australia\n" +
"4. Austria\n" +
"5. Bangladesh\n" +
"6. Belgium\n" +
"7. Brazil\n" +
"8. Burma\n" +
"9. Canada\n" +
"10. Chile\n" +
"11. China\n" );

//get the country code
country = key.nextInt();

key.nextLine();
//get the users name
System.out.println("What is you name?");
name = key.nextLine();

switch (country) {
case 1: greeting = "salaam";
break;
case 2: greeting = "h-h-h-i-i thththththere";
break;
case 3: greeting = "G'day mate";
break;
case 4: greeting = "Gruss Gott";
break;
case 5: greeting = "nomoskar";
break;
case 6: greeting = "Hallo";
break;
case 7: greeting = "Ola";
break;
case 8: greeting = "mingalaba";
break;
case 9: greeting = "Good day eh";
break;
case 10: greeting = "Hola";
break;
case 11: greeting = "Nei hou";
break;
default: greeting = "Invalid country";
break;
}

//display the greeting and the users name
System.out.printf("%s %s\n", greeting, name);
}
}

最佳答案

不,包含 main 方法的类可以是非公开的。 (如果您确实愿意,它甚至可以是私有(private)嵌套类。)

main 方法本身必须是公共(public)的,但类不需要。

(请注意,这里没有“通用 CS 理论” - 每种语言和平台都有自己的约定和规则。)

(诚然,我强烈建议使用一组问候语而不是一个巨大的 switch 语句......但这是另一回事。)

关于java - 我是否必须将一个类声明为公共(public)(它是程序中唯一没有人会使用的类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com