JAVA中public class 和class的区别

JAVA中public class 和class的区别

1.public class

我们先来看下public class

public class Test{
	public static void main(String[] args){
		System.out.pringln("这是一个public class");
	}
}

这种可以说是最普通的一种类,也是我们最常见的一种类。
当我们用javac命令去编译的时候,假如类名与文件名不一致,则会报错。

我将上面的java文件命名为Tewt.java
在cmd中运行如下命令

javac Tewt.java

果不其然,报错了
在这里插入图片描述
错误提示为 类 Test 是公共的, 应在名为 Test.java 的文件中声明

当我们把java文件改为Test.java时
再运行一次javac命令

javac Test.java

这次并没有报任何错误,并且在文件夹中多了一个Test.class文件

这说明了一个问题:
public class的类名必须要和java文件名一致,否则无法通过编译。
因此可以推出一个java文件只能有一个public class。
否则,如果一个java文件有两个public class的话,那么文件名用其中一个类名,编译时就会报另一个类名的错。

2.class

再来看下没有public的class
我把Test.java修改成如下

class A{}
class B{}
class C{}
class D{}

javac以下

javac Test.java

您猜怎么着!编译出了4个class文件
编译出来的A,B,C,Dclass文件
这说明了另外一个问题:
没有public修饰的class,名字可以不和文件名一致;
一个java文件可以包含多个class,但是public class只能有一个,当然也可以没有public class;
每个类在编译后都会生成一个class文件

好了,这就是今天份public class和class的区别。

发布了4 篇原创文章 · 获赞 4 · 访问量 298

猜你喜欢

转载自blog.csdn.net/The_Love_Juice/article/details/104472721
今日推荐