以下是对java中public class与class的区别进行了分析介绍,需要的朋友可以过来参考下

在编写类的时候可以使用两种方式定义类: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_java中public class与class的区别详解相关推荐

  1. [ASP.NET]ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解及OWIN及IDENTITY

    篇一 : ASP.NET中的Inherits.CodeFile.CodeBehind的区别详解 Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计W ...

  2. 空字符python_Python中的None与 NULL(即空字符)的区别详解

    1.首先要了解Python的对象的概念: Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫 ...

  3. java之public class和class声明区别详解 (转)

    在编写类的时候可以使用两种方式定义类:     public class定义类:     class定义类:     如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名 ...

  4. JAVA中类的public class与class的区别详解

    转载自:https://blog.csdn.net/jingzi123456789/article/details/71515728 1.类的访问权限 为了控制某个类的访问权限,修饰词必须出现在关键字 ...

  5. C语言scanf fgets,C语言中输入函数(scanf()、fgets()和gets())的区别详解

    前言 大家都知道在C语言中,有三种主要的输入函数:scanf(),fgets()以及gets().他们的使用方法及注意事项如下: 1.scanf() 它是一种格式化的输入方式,可一次性按照规定的格式输 ...

  6. ASP.NET中的inherits、CodeFile、CodeBehind的区别详解

    在ASP.NET中使用代码隐藏方法来设计Web窗体,可使页代码能够清晰地从HTML内容中分离到完全单独的文件中. 通常一个@page指令如下: < %@ Page language=" ...

  7. inherits java_ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解

    Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. 通常一个 @pa ...

  8. java rpc与webservice_RPC体系,RPC和WebService的区别详解

    RPC和WebService的关系 RPC(Remote Procedure Call)- 远程过程调用,是一个很大的概念, 它是一种通过网络从远程计算机程序上跨语言跨平台的请求服务,rpc能省略部分 ...

  9. java controller注解原理_@Controller、@RestController注解区别详解

    @Controller.@RestController注解区别: @RestController 注解相当于 @Controller + @ResponseBody 合在一起的作用. 一.@Contr ...

最新文章

  1. 实战分析 RocketMQ事务消息
  2. ORACLE ERP 的前世今生(5)
  3. 后盾网lavarel视频项目---lavarel用户认证实例
  4. Linux 设备驱动开发 —— 设备树在platform设备驱动中的使用
  5. iframe 滚动条不显示_HTML基础教程:Iframe的用法
  6. Spring的消息 Java Message Service (JMS)
  7. 自动化测试中自动化切换网络----解决方案
  8. Set static ip for ubuntu
  9. RabbitMQ学习——整合Spring AMQP、SpringBoot以及Spring Cloud Stream
  10. python中的多线程(一)
  11. 天线3db波束宽度_如何展开微带天线的波束宽度?
  12. Axure RP 9操作界面介绍【教程一】
  13. 如何用python下载图片_Python之如何优雅的下载一堆小哥哥图片
  14. iphone 4s IOS9 越狱教程
  15. Could not resolve dependencies for project com.koolearn:koo-b2b-tesa-api:jar:1.0-dev-SNAPSHOT
  16. 计算机网络 5 - 链路层
  17. Python机器学习:认识机器学习
  18. SAP ABAP 小数转分数\约分
  19. QT 幸运大转盘动画
  20. 【java神操作】java竟然还可以能执行Javascript代码!!

热门文章

  1. wxWidgets:wxActivateEvent类用法
  2. boost::units::information相关的测试程序
  3. boost::stl_interfaces::detail相关的测试程序
  4. boost::proto::flatten相关的测试程序
  5. boost::mp11::mp_max_element相关用法的测试程序
  6. boost::hana::id用法的测试程序
  7. boost::graph模块实现边列表算法上的连通分量
  8. Boost:BOOST_ASSERT用法的测试程序
  9. Boost:projection years投影年的测试程序
  10. ITK:计算图像的最小,最大,方差和均值