因为导师的项目设计到java,因此学习了下java的一些基础知识,一些重要的部分先加以记录。刚开始创建java源文件的时候,使用的intel ide总会自动创建一个public class 文件名的类,public即公共的意思,即为公共类,是不是java源代码中是不是一定要有公共类呢,我们先来做个实验,为了方便对比,本次使用notepad++来编写,我创建了一个名为K.java的源文件,里面代码如下
class A{
}
class B{
}
class C{
}
保存后然后使用命令
javac K.java
先对源文件进行编译,结果如下
编译没有任何问题,接下来是运行阶段,我们选择一个生成的字节码来运行,选择A吧,运行命令
java A
结果如下所示
C:\Users\14499\Desktop\java代码>java A
错误: 在类 A 中找不到 main 方法, 请将 main 方法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
额,确实,一个完整的代码必须要有main方法,作为程序的入口,我们在每个类中加个main方法,如下所示
class A
{
public static void main(String[] args)
{
System.out.println("A class");
}
}
class B
{
public static void main(String[] args)
{
System.out.println("B class");
}
}
class C
{
public static void main(String[] args)
{
System.out.println("C class");
}
}
再用上述javac K.java进行编译,如图
再选择一个字节码进行,以A.class为例,使用命令java A,结果如下
C:\Users\14499\Desktop\java代码>javac K.java
C:\Users\14499\Desktop\java代码>java A
A class
C:\Users\14499\Desktop\java代码>
成功运行,我们再加一个public class看看,代码如下
class A
{
public static void main(String[] args)
{
System.out.println("A class");
}
}
class B
{
public static void main(String[] args)
{
System.out.println("B class");
}
}
class C
{
public static void main(String[] args)
{
System.out.println("C class");
}
}
public class D{
public static void main(String[] args)
{
System.out.println("D public class");
}
}
同样使用命令进行编译,结果如下
C:\Users\14499\Desktop\java代码>javac K.java
K.java:22: 错误: 类 D 是公共的, 应在名为 D.java 的文件中声明
public class D{
^
1 个错误
C:\Users\14499\Desktop\java代码>
上面错误显示公共D类名应该和源文件名一样,我们改下代码
public class K{
public static void main(String[] args)
{
System.out.println("D public class");
}
}
改了后运行代码就正常编译了
C:\Users\14499\Desktop\java代码>javac K.java
C:\Users\14499\Desktop\java代码>
可见,源文件中class可以多个,而public class 只能有一个且是和源文件同名,那这样就明白了intel ide中每创建一个java文件,都会自动生成一个public class 源文件名,而一般源文件main方法入口只有一个,因此大多数main方法配合public class一起
点击此处登录后即可评论