java中public class与class的区别详解
时间:2023-04-09 11:49:40
在编写类的时候可以使用两种方式定义类:
public class定义类:
class定义类:
如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。
范例:定义一个类(文件名称为:Hello.java)
public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词的首字母大写
public static void main(String args[]){ //主方法
System.out.println("HelloWorld!!!"); //系统输出,在屏幕上打印
}
};
此类使用public class声明,类名称是HelloDemo,但是文件名称Hello.java,所以,此时编译时会出现如下问题:
Hello.java:1 类 HelloDemo 是公共的,应在名为HelloDemo.java文件中声明
public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词首字母大写
1、错误
以上的错误提示表示:因为使用的是public class声明,所以类名称应该与文件名称完全一致,即应该使用"HelloDemo.java"表示类的名称。
如果类的声明使用了class的话,则类名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的名称。
范例:有如下代码(文件名称为:Hello.java)
class HelloDemo{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}
};
文件名称为Hello.java,文件名称与类名称不一致,但是因为使用了class声明所以,此时编译不会产生任何错误,但是生成之后的*.class文件的名称是和class声明的类名称完全一致的:HelloDemo.class
执行的时候不能再执行java Hello,而是应该执行javaHelloDemo
在一个*.java的文件中,只能有一个public class的声明,但是允许有多个class的声明
public class Hello{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}
};
class A{};
class B{};
在以上的文件中,定义了三个类,那么此时程序编译之后会形成三个*.class文件。
标签:java,public,class,class
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
java创建以任意图片为背景的窗口
2021-11-16 03:08:14
![](https://img.aspxhome.com/file/2023/5/110885_0s.jpg)
详解Java中NullPointerException异常的原因详解以及解决方法
2023-01-22 20:13:28
Android中3种全屏方法及3种去掉标题栏的方法
2023-11-07 18:45:51
struts+spring+hibernate三个框架的整合
2022-08-08 08:13:15
SpringBoot万字爆肝高级配置
2022-09-17 06:34:08
![](https://img.aspxhome.com/file/2023/4/94194_0s.png)
详解C# 反射(Reflection)
2021-09-08 14:42:59
详解springboot测试类注解
2023-06-04 21:04:37
![](https://img.aspxhome.com/file/2023/6/71246_0s.png)
ViewPager实现带引导小圆点与自动跳转的引导界面
2021-07-11 12:25:18
![](https://img.aspxhome.com/file/2023/2/138732_0s.jpg)
java通过Callable和Future来接收线程池的执行结果
2022-03-31 05:01:43
Spring Junit单元测试加载配置文件失败问题
2022-06-05 13:37:48
Android下拉刷新控件PullToRefresh实例解析
2022-01-27 08:01:14
![](https://img.aspxhome.com/file/2023/8/138948_0s.png)
struts2实现文件上传显示进度条效果
2021-11-19 16:16:21
Android实现文字滚动播放效果的代码
2021-07-15 22:35:15
Android Intent传递大量数据出现问题解决
2021-11-07 10:16:13
maven引入本地jar包运行报错java.lang.NoClassDefFoundError解决
2022-10-15 01:42:24
新浪微博第三方登录界面上下拉伸图片之第三方开源PullToZoomListViewEx(二)
2021-07-25 04:52:35
seata-1.4.0安装及在springcloud中使用详解
2023-02-21 00:49:21
![](https://img.aspxhome.com/file/2023/5/62835_0s.png)
Java实战宠物店在线交易平台的实现流程
2022-07-06 22:04:37
![](https://img.aspxhome.com/file/2023/4/119204_0s.png)
Java8中 LocalDate和java.sql.Date的相互转换操作
2022-01-05 20:01:28
Java利用蒙特卡洛方法求解圆周率π值
2023-04-10 14:10:28
![](https://img.aspxhome.com/file/2023/3/91123_0s.png)