基础:包的问题

wwwasp 2004-04-12 05:02:30
今天看书看到了"包"
例子:

package MyPack;

class Balance1
{
double bal;
String name;

Balance1(double i,String j)
{
bal = i;
name = j;
}

void show()
{
if(bal<0)
System.out.print("-->");
System.out.println(name + ":$" + bal);
}
}
public class Balance
{
public static void main(String[] args)
{
Balance1 current[] = new Balance1[3];

current[0] = new Balance1(123.3,"K.J.Fielding");
current[1] = new Balance1(157.02,"Will Tell");
current[2] = new Balance1(-12.23,"Tom Jackson");

for(int i=0;i<3;i++)
current[i].show();
}
}


这个例子是运行正确的
当public class Balance{}中public去掉后
执行java MyPack.Balance提示找不到main
书上的例子也没加public啊,这是为什么呢?
...全文
52 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dongluo 2004-04-13
  • 打赏
  • 举报
回复
可以阿!一個包可以包含多個public的類,而一個文件中最多只能有一個類名與該文件名稱
相同的public類而不是必須有一個public類。
ralphvsclark 2004-04-13
  • 打赏
  • 举报
回复
包里的每一个文件都可以有一个public的,但这个public class 要与文件同名,否则编译错误
wwwasp 2004-04-13
  • 打赏
  • 举报
回复
一个包中可以有一个public class是这样吧?
ralphvsclark 2004-04-13
  • 打赏
  • 举报
回复
应该没有问题

编译时Java会生成两个class: Balance.class, Balance1.class
你运行时需指定 Balance.class, 因为里有main方法

如果你加了public 则文件名应该和加public的那个类名相同
否则,文件名可以任意
ny_he 2004-04-13
  • 打赏
  • 举报
回复
没问题,我也试了。
ai92 2004-04-13
  • 打赏
  • 举报
回复
我在Eclipse里面试le,没有问题阿
wwwasp 2004-04-13
  • 打赏
  • 举报
回复
怪了,刚才去了public又可以了
真是怪了,郁闷......
wwwasp 2004-04-13
  • 打赏
  • 举报
回复
书上的例子,没加public
我以前做一些小测试程序时,也没加public
为什么这次会出错呢?
zzw_happy 2004-04-13
  • 打赏
  • 举报
回复
Banlance.java文件必须有一个public的Banlance类。java用这种方法来解决名字冲突。
tiger_wkh52741 2004-04-13
  • 打赏
  • 举报
回复
规范问题。不是包问题吧!
你应该加public关键字!
wwwasp 2004-04-13
  • 打赏
  • 举报
回复
有人帮我吗?顶一下
lyy3508 2004-04-13
  • 打赏
  • 举报
回复
应该有public,是规范问题,要注意。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧