菜鸟的问题 java文件与类的关系

chenhonghong 2008-01-22 11:54:46
我是学习java的新手 有一个问题想请教
创建一个java文件 文件名必须与类名一致 但是如果一个java文件里写两个或两个以上的类 那这样编译会不会出现问题?还是有另外的写法?
...全文
181 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cursor_wang 2008-01-23
  • 打赏
  • 举报
回复
创建一个java文件,里面可以有很多类,但是只能有一个是public的,而且这个public的类名必须和java文件名一样,java是区分大少写的.如果没有public的,类名无需一样.
yiyi_wx 2008-01-23
  • 打赏
  • 举报
回复
创建一个java文件 文件名必须与类名一致
---------------------
LZ意思我不太明白
你说的一个java文件是指.java文件?
如果是的话,这本身就是一个类了



一个java文件里写两个或两个以上的类
-------------------------
LZ这句话的意思是说类中有内部类吗?
源文件中只允许有一个和文件名相同的公共类,
但允许有多个内部类
z3h 2008-01-23
  • 打赏
  • 举报
回复
主类public修饰的类,作为文件名字。
其他类可以在一起的。
A.java
---------
public class A{
class C{
}
}
class B{
}

---
end A.java
theside 2008-01-23
  • 打赏
  • 举报
回复
谢谢6楼,我知道我的问题出在哪里了,我是3楼的,谢谢
cbyvft 2008-01-23
  • 打赏
  • 举报
回复
你把类跟方法的概念弄混淆了

假如你的文件夹下又一个test.java的文件

里面的内容为:

class test // -->类名 必须与你的文件名相同 (test.java)
{
public static void main(String[] args) // --> 方法名
{
printTest();
}

public void printTest() // --> 方法名
{
System.out.println("Hello World!");
}
}

mathsyang 2008-01-23
  • 打赏
  • 举报
回复
顶楼上,不知道7楼什么意思?还是没见过内部类?
ownraul 2008-01-23
  • 打赏
  • 举报
回复
类里面不能包含类。可以继承。如果类里面包含类的话编义都通不过。

====================================

别误导人家呀,内部类不在类里面在那里呢?


------------------------
java文件里写两个或两个以上的类 那这样编译会不会出现问题?还是有另外的写法?

一样写的,只不过用public修饰的类只能有一个,且文件名为此类名
EricHill 2008-01-23
  • 打赏
  • 举报
回复
只需要理解到这个层次就可以了:
   java文件名必须是和其public 修饰的class一致,区分大小写,且一个java文件中只能有一个public 的class,当然也可以没有(一般很少情况下一个java文件中没有public修饰的class )。
scyinhui 2008-01-23
  • 打赏
  • 举报
回复
类里面不能包含类。可以继承。如果类里面包含类的话编义都通不过。
duskwaitor 2008-01-23
  • 打赏
  • 举报
回复
创建一个java文件,里面可以有很多类,但是只能有一个是public的,而且这个public的类名必须和java文件名一样,java是区分大少写的.如果没有public的,类名无需一样
另外关于三楼的问题,在我这边并没有出现
A.java文件:
class Super1 {
public static int s = 100;
void abc() {
System.out.println("s1 " + s);
}
}
class Sub {
private int s = 200;
public static void main(String[] args) {
System.out.println("s2 " + s); }

}
cmd如下:
javac A.java
java Sub
s2 200
Albert再出发 2008-01-23
  • 打赏
  • 举报
回复
关于二楼的答案是正确的 给你举个例子
class A{
}

class B{
}
public class C{
public static void main(String args[]){
System.out.println(Hello World!);
}
}
上面的程序叫C.java是可以编译通过的 public的这个类 类名与文件名相同即可
初学者建议你看下 北京尚学堂马士兵的视频 讲解的非常详细
注意程序的格式 我上面的编排是错误的 因为这个程序把我的空格给trim了懒得写转义字符
想快速的提高编程水平建议你去一个培训机构可以少走很多弯路
欢迎站内沟通
theside 2008-01-23
  • 打赏
  • 举报
回复
关于2楼的答案,“创建一个java文件,里面可以有很多类,但是只能有一个是public的,而且这个public的类名必须和java文件名一样,java是区分大少写的.如果没有public的,类名无需一样.”
但经过我的测试,若一个.java文件中没有public类的时候,文件名必须要和其中一个类的名字一样,而且这个类应该是这几个类中被初始化的第一个类,否则编辑器无法找到所需要的类。以上是我用纯文本编辑器编辑完代码后用javac命令编译的。
但是在eclipse中好像又不需要这样,不知道是不是跟IDE有关?
我也才学JAVA不久,希望各位前辈指教。

62,623

社区成员

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

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