建立一个MyClass.java,代码如下,为什么能运行呢?一个java文件不是必须要有一个与文件名相同的public类吗?如应该有个public class MyClass,而不是class Myclass.class MyClass
{
void myMethod(int i) {System.out.println("int version");}
void myMethod(String s) {System.out.println("String version");}
public static void main(String args[])
{
MyClass obj = new MyClass();
char ch ='c';
obj.myMethod(ch);
}
}
{
void myMethod(int i) {System.out.println("int version");}
void myMethod(String s) {System.out.println("String version");}
public static void main(String args[])
{
MyClass obj = new MyClass();
char ch ='c';
obj.myMethod(ch);
}
}
如果main方法所在的类没有用public修饰,那么文件名可以随便起,不一定要和任何类名一样.
一个程序中如果有多个类,则只能有一个public类,这个类的名字必须和你程序名字一样,程序的入口点,即main()函数必须包含在public类里面。
是整个程序的入口
虽然你的class MyClass {}没标注public
但是程序从main()开始运行
所以大前提下 还是public如果你这个类中没有main()
那么你就需要写成public class MyClass我这样解释你能明白么
如果这些类中没有公有类,即public修饰的类,那么文件的名称可以任意起
如果这些类中有公有类,即public修饰的类,那么文件的名称必须与这个公有类的名称一致
如下面这两个类在同一个文件中,那么文件的名字必须是HelloWorld.javapublic class HelloWorld {
}class A{
public static void main(String[] args) {
System.out.println("A");
}
}