在一个java源文件当中可以有多个类,但是为什么只能有一个public类呢?而当这个类被修饰为public的话,为什么源文件名必须要与类名相同呢?
希望多多给予指点,先谢谢了。
希望多多给予指点,先谢谢了。
解决方案 »
- 编码问题
- 如何将MySQL驱动包随工程一起导出?
- 再来一道基础题,欢迎有兴趣的朋友进来看看!
- 一个比较复杂的问题!! 如何通过字符串 取得某个类的某个属性 并且付值???
- 请问:能不能通过本机上的JAVA应用程序操作远程服务器上的ACCESS数据库?
- 小弟求救!!(有100分)
- Jboss里怎么加入CA认证?
- StringBuffer的append方法可以改变自己的内容,除此之外没有方法可以改变自己的内容了吧?
- 请教:(使用jdk1.4)在程序中如何动态载入.jar库,就像Windows程序中载入.dll那样?
- 在windows2000下应如何设置环境变量path?(Null)
- 怎么判断JAreaText是否为空?
- 我做的小计算器大家提提意见
译单元只能有一个公开的接口,而这个接口就由其public 类来表示。
你可以根据需要,往这个文件里面添加任意多个提供辅助功能的package 权限的类。但是如果这个编译单元里面有两个或两个以上的public 类的话,编译器就会报错。
2. public 类的名字必须和这个编译单元的文件名完全相同,包括大小
写。所以对Widget 类,文件名必须是Widget.java,不能是widget.java 或WIDGET.java。如果你不遵守,编译器又要报错
了。
3. 编译单元里面可以没有public 类,虽然这种情况不常见,但却是可以
的。这时,你就能随意为文件起名字了。
译单元只能有一个公开的接口,而这个接口就由其public 类来表示。说得有道理.
编译单元中没有public类,指的是没有公开的接口,但是可以在同一个包内访问的.
public的意思是在包内包外均可访问.
to tanlei_accp(爱梦薇) 这时,你就能随意为文件起名字了。
是能请教开发JAVA的那些老师们了。
import java.io.*;
class student
{
private int id;
private float score;
public student(int id,float score)
{
this.id=id;
this.score=score;
}
public int getid()
{
return this.id;
}
public float getscore()
{
return this.score;
}
}
public class stu
{
public static void main(String args[] )
{
student a = new student(1,99);`
System.out.print(a.getid()+"\t");
System.out.println(a.getscore());
}
}
这个程序,如果student也为public类,那程序如果从student类中导入,那就什么都没有,而从stu类里能正确的输出。这样就会产生矛盾,导致系统出错。所有在java中只允许有一个public类。
至于源文件名必须要与类名相同,是为了让系统更好地识别从哪个类中导入(个人见解)。
其实这是java的硬性规定。 zt_soft(Get busy living, Or get busy dying.) 3、编译单元里面可以没有public 类,虽然这种情况不常见,但却是可以的。这时,你就能随意为文件起名字了。
zt_soft(Get busy living, Or get busy dying.) 能不能试举一例呢?让我们这些初学者见识见识(例子请尽量简单些)
class test1{
public static void main(String[] args){
System.out.println("test1");
}
} class test2{
public static void main(String[] args){
System.out.println("test2");
}
}
首先,楼主所说的问题所针对的情况是在“一个java源文件中包含多个类时”,这样只能够有一个public类,因为java程序的入口是main方法,所以被定为public的这个类里一定是含有main方法的类,而且该类的名称要和文件名一致,因为虚拟机开始要找main的.
在标准的java代码编写时,无论代码量多少,最好一个源文件里只有一个类或接口(接口也要单独写在一个源文件里),因为JAVA是面向对象的语言,每个类都是抽象的结果,所以每个类都要单独写在一个源文件里.
最好不要在一个.java的源文件里写很多的类.
public class publicTest
{
void show()
{
System.out.println("Hello World");
}
}
class testClass
{
public static void main(String args[])
{
publicTest pt=new publicTest();
System.out.println("The main.");
pt.show();
}
}