我们说java不是纯粹的面向对象,因为原始数据类型不是对象.但在下面的代码中,对象如何保存原始数据类型?
public class Test{
public Object meth(Object obj){
System.out.println(obj instanceof Object);//It prints true
System.out.println("Value = "+obj);//It prints "Value = 1"
return obj;
}
public static void main(String[] args) {
int a = 1;
System.out.println(new Test().meth(a));
}
}
Run Code Online (Sandbox Code Playgroud) 给定一个名为TestMainFunction.java的Java源文件
1.)正如我们大多数人所知,Java文件名必须是包含main函数的类名
请参阅以下简单代码(在上面提到的单个文件中),它完美地执行并打印ClassOne
.
public class TestMainFunction {}
class ClassOne {
public static void main(String[] a) {
System.out.println("ClassOne");
}
}
Run Code Online (Sandbox Code Playgroud)
2.)当单个文件中有多个具有main函数的类时,Eclipse会提示用户选择要运行的类.
请参阅以下简单代码(上面提到的单个文件),它完美地执行并打印我们从Eclipse promt中选择的类名.
public class TestMainFunction {
public static void main(String[] a) {
System.out.println("TestMainFunction");
}
}
class ClassOne {
public static void main(String[] a) {
System.out.println("ClassOne");
}
}
class ClassTwo {
public static void main(String[] a) {
System.out.println("ClassTwo");
}
}
Run Code Online (Sandbox Code Playgroud)
以上所有内容都可以解释.它将为每个类创建单独的.class文件.即使使用内部类,相同的行为也适用.
但到底发生了什么?当一个源文件中存在多个类时,Eclipse如何知道要启动哪个类?任何人都可以解释一下吗?解释这一点将不胜感激.