Java在编写类的时候可以使用两种方式定义类
    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文件。

public class 和class 的区别的更多相关文章

  1. public class 与 class 的区别

    public class 与 class 的区别 1.一个类前面的public是可有可无的 2.如果一个类使用 public 修饰,则文件名必须与类名一致 3.如果一个类前面没有使用public修饰, ...

  2. public class 和 class的区别

    问题:public class 和 class的区别 public class 公共类 class 普通类 一个java源文件中可以有多个class,但是最多只能有一个public class 可以没 ...

  3. public class和class的区别

    class A { } class B { } public class 和class的区别: * 一个java源文件当中看看定义多个class *一个java源文件当中public的class不是必 ...

  4. Ruby中访问控制符public,private,protected区别总结

    重点关注private与protected public 默认即为public,全局都可以访问,这个不解释 private C++, “private” 意为 “private to this cla ...

  5. 7,C++ public, protected, private 继承的区别

    在某处看到一张图,简单明了的说明了三者的关系,很是佩服,遂记录下来. //公有继承 对象访问 成员访问 public --> public Y Y protected --> protec ...

  6. public/private/protected的具体区别

    在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友 ...

  7. java中public private protected default的区别

    1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...

  8. C++中的Public 、Private、Protected 区别

    第一: private,public,protected的访问范围: private: 只能由该类的成员函数.友元的成员函数访问,不能被其他类的成员函数访问,即使是该类的对象也不能直接访问 publi ...

  9. 在java中public void与public static void有什么区别 ?

    public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用:public static void 修饰是静态方法,属于类,使用类名.方法名直接调用 ...

随机推荐

  1. Moment-JavaScript 日期处理类库

    来源:http://momentjs.cn/ 日期格式化 moment().format('MMMM Do YYYY, h:mm:ss a'); // 二月 22日 2017, 4:04:26 下午 ...

  2. oozie错误:javax.servlet.jsp.el.ELException: variable [***] cannot be resolved

    完整错误: javax.servlet.jsp.el.ELException: variable [compute] cannot be resolved at org.apache.oozie.ut ...

  3. Python运维开发基础10-函数基础

    一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...

  4. VScode 安装必备

    1.运行程序:

  5. 大型运输行业实战_day09_2_站间互售实现

    1.添加站间互售入口 对应的html代码 <button onclick="otherStation()">站间互售</button> 对应的js发送函数 ...

  6. 检测到有潜在危险的 Request.Form 值——ValidateRequest的使用

    1.aspx中 在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的.跨站点脚本攻击就是此类攻击的一个示例. 当请求验证检测到潜在的恶意客户端输入时,会引发此异 ...

  7. X_PU

    通俗易懂告诉你CPU/GPU/TPU/NPU...XPU都是些什么鬼?[附把妹秘籍] 2017-10-27 19:54移动芯片/谷歌 作者:iot101君 物联网智库 原创 转载请注明来源和出处 现在 ...

  8. forward(请求转发)和redirect(重定向)的区别

    原理: forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原 ...

  9. Drying

    Drying http://poj.org/problem?id=3104 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 2 ...

  10. Gridview中 LinkButton删除以及自带删除

    <asp:LinkButton ID="lbtnDel" OnClientClick="return confirm('删除新闻会连同其下评论一起删除,是否删除?' ...