建立一个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);
}
}
------解决方案--------------------
如果你的main方法所在的类用public 修饰了,那么文件名必须是这个类的类名
如果main方法所在的类没有用public修饰,那么文件名可以随便起,不一定要和任何类名一样.
一个程序中如果有多个类,则只能有一个public类,这个类的名字必须和你程序名字一样,程序的入口点,即main()函数必须包含在public类里面。
------解决方案--------------------
因为你的类是有main()的类
是整个程序的入口
虽然你的class MyClass {}没标注public
但是程序从main()开始运行
所以大前提下 还是public
如果你这个类中没有main()
那么你就需要写成public class MyClass
我这样解释你能明白么