黑马程序员之java中public class和class的区别
来源:互联网 发布:linux手动添加用户 编辑:程序博客网 时间:2024/06/03 02:42
^_^o~ 努力!—————————> android培训、java培训、期待与您交流!—————————> #^_^#~成功!
Java、Android、PHP、.Net视频下载
在编写类的时候可以使用两种方式定义类:
public 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定义类:
如果类的声明使用了class的话,则类名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的名称。范例:有如下代码(文件名称为:Hello.java)
class HelloDemo{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}}
文件名称为Hello.java,文件名称与类名称不一致,但是因为使用了class声明所以,此时编译不会产生任何错误,但是生成之后的*.class文件的名称是和class声明的类名称完全一致的:HelloDemo.class
执行的时候不能再执行Hello.java,而是应该执行HelloDemo.java,所以运行时会出现以下的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello
Caused by: java.lang.ClassNotFoundException: Hello
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Hello. Program will exit.
请按任意键继续. . .
Caused by: java.lang.ClassNotFoundException: Hello
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Hello. Program will exit.
请按任意键继续. . .
在一个*.java的文件中,只能有一个public class的声明,但是允许有多个class的声明
public class Hello{
public static void main(String args[]){
System.out.println("HelloWorld!!!");
}}
class A{};
class B{};
在以上的文件中,定义了三个类,那么此时程序编译之后会形成三个*.class文件。
^_^o~ 努力!—————————> android培训、java培训、期待与您交流!—————————> #^_^#~成功!
Java、Android、PHP、.Net视频下载
- 黑马程序员之java中public class和class的区别
- java之public class和class声明区别详解
- java之public class和class声明区别详解
- Java之public class和class声明区别
- java中public class与class区别
- java中public class与class区别
- Java中public class与class的区别
- public class 和class 的区别
- public class 和 class的区别
- 3. public class和class的区别
- 2.class 和 public class的区别
- 黑马程序员:Objective-c中@class和#import的区别
- 黑马程序员----import和class的区别
- 黑马程序员--#import和@class的区别
- Java class 中public、protected 、friendly、private的区别
- Java class 中public、protected 、friendly、private的区别
- Java class 中public、protected 、friendly、private的区别
- JAVA——java中类的public class与class的区别详解
- struts2中的json
- asp.net一般处理程序(1)准备工作
- hdu 1035(简洁版)
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- cloudfoundry的部署成功后的笔记
- 黑马程序员之java中public class和class的区别
- 数据库
- jquery foreach
- web.py .3开发环境搭建
- java程序性能优化
- oracle安装问题
- 使用CCS4进行DSP开发(Win7-64bit下DSP开发环境搭建) .
- ext4.0绘制chart(柱状图,条形图)
- JS中文乱码的解决方法