当前位置 > 主页 > 万和大讲堂 >


南京Java培训机构 Java中public class与class区别

2015-11-12 15:55

     在编写类的时候可以使用两种方式定义类:

 

  public class定义类:

 

  class定义类:南京Java培训机构

 

  如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。

 

  范例:定义一个类(文件名称为:Hello.java)

 

  public class HelloDemo{    //声明一个类,类名称的命名规范:所有单词的首字母大写

 

  public static void main(String args[]){    //主方法

 

  System.out.println("HelloWorld!!!");    //系统输出,在屏幕上打印

 

  }

 

  };

 

  此类使用public class声明,类名称是HelloDemo,但是文件名称Hello.java,所以,此时编译时会出现如下问题:南京Java培训机构

 

  Hello.java:1 类 HelloDemo 是公共的,应在名为HelloDemo.java文件中声明

 

  public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词首字母大写

 

  1、错误

 

  以上的错误提示表示:因为使用的是public class声明,所以类名称应该与文件名称完全一致,即应该使用"HelloDemo.java"表示类的名称。

 

  如果类的声明使用了class的话,则类名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的名称。

 

  范例:有如下代码(文件名称为:Hello.java)

 

  class HelloDemo{ 南京Java培训机构

 

  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!!!");

 

  }南京Java培训机构

 

  };

 

  class A{};

 

  class B{};

 

  在以上的文件中,定义了三个类,那么此时程序编译之后会形成三个*.class文件。


最近开班 more>
  • 全栈开发
  • 软件测试
  • Java大数据开发工程师
  • Web前端开发
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Cloud lab
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA-OpenStack
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 双休班
  • 双休班
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 6月28日
  • 6月5日
  • 6月26日
  • 6月27日
  • 6月19日
  • 6月12日
  • 6月5日
  • 随时开课
  • 6月10日
  • 6月4日
  • 6月4日
  • 6月12日
  • 6月26日
  • 6月10日
  • 6月10日
  • 6月4日
  • 7月8日
  • 6月28日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入