当前位置:  编程技术>java/j2ee

java中public class与class的区别详解

    来源: 互联网  发布时间:2014-10-26

    本文导语:  在编写类的时候可以使用两种方式定义类:public class定义类:class定义类:如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。范例:定义一个类(文件名称为:Hello.java) 代码如下:public class HelloD...

在编写类的时候可以使用两种方式定义类:
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命名空间javax.tools枚举javafileobject.kind的类成员方法: class定义及介绍
  • 有两个:1.class与2.java,2.java继承1.class类,要把2.java编译成2.class给如何书写!
  • java命名空间java.io接口objectstreamconstants的类成员方法: tc_class定义及介绍
  • xx.java继承yy.class,编译xx.java为xx.class时应怎样书写?(谢谢)
  • java命名空间java.lang.annotation枚举retentionpolicy的类成员方法: class定义及介绍
  • 我昨天刚学java用的是JBuilder可是我用F9运行之后在classes目录中生成的.class文件为什么我在用java.exe application1时出现如下的错误呢
  • java命名空间java.lang类class<t>的类成员方法: getsuperclass定义及介绍
  • java bean和java class的区别??
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: class定义及介绍
  • JAVA编译的CLASS文件可以反编译为JAVA文件吗?
  • java命名空间javax.tools枚举standardlocation的类成员方法: class_path定义及介绍
  • java线程怎么调用java的application.class?
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: class定义及介绍
  • 谁有办法用java执行于java.exe不在一个目录的class文件?
  • java命名空间javax.tools枚举standardlocation的类成员方法: class_output定义及介绍
  • 用什么工具可以把JAVA的.CLASS文件反编译成.JAVA文件??
  • java命名空间java.util类resourcebundle.control的类成员方法: format_class定义及介绍
  • 在java中,什么情况下属于不同的进程,是在不同的classload中加载的class,还是在不同的jvm中加载的class
  • java命名空间java.lang类class<t>的类成员方法: getenumconstants定义及介绍
  • 请问java bean 与普通的java class的主要区别?
  • java命名空间java.lang类class<t>的类成员方法: getdeclaringclass定义及介绍
  • 我已经编译了一个hello.class的文件,为什么,使用java hello还是提示没有hello.class这个类呢?
  • java map(HashMap TreeMap)用法:初始化,遍历和排序详解
  • 哪位java同门师兄有《java2编程详解》电子文档,注意不是影印版
  • 请问哪儿有java2编程详解的电子书下载??本人急需!!跟贴有分!!!
  • 谁有JAVA的类库详解或下载地址?
  • 请问那里有《JAVA2编程详解》可以下载?
  • 《Java 2 编程详解》程序清单14.12中的一个问题。
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • 我非常想知道JAVA跟C/C++对于硬件控制的能力孰强孰弱.(菜鸟问题,要详解,在线等待)
  • Java中的随机数详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.security枚举keyrep.type的类成员方法: public定义及介绍
  • Java 访问控制的问题(public,private,protected,(default))!讨论讨论!
  • java命名空间javax.lang.model.element枚举modifier的类成员方法: public定义及介绍
  • java命名空间java.lang.reflect类modifier的类成员方法: public定义及介绍
  • java命名空间javax.swing.text.html.parser接口dtdconstants的类成员方法: public定义及介绍
  • java命名空间java.lang.reflect接口member的类成员方法: public定义及介绍
  • java命名空间javax.crypto类cipher的类成员方法: public_key定义及介绍
  • java命名空间javax.xml.transform类outputkeys成员方法: doctype_public定义参考
  • java命名空间javax.sql.rowset接口webrowset的类成员方法: public_xml_schema定义及介绍
  • java命名空间javax.xml.bind.annotation枚举xmlaccesstype的类成员方法: public_member定义及介绍
  • java 类修饰符(private,public和protected)所代表的权限
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3