在java中声明一个类的方式有两种 即:public class 类名称 和 class 类名称。
(1)使用public class 声明一个类时,类名称必须和文件名一致,否则程序将无法编译。
(2)使用class声明一个类时,类名称可以和文件名不一致,但是在执行时一定要执行生成后的*。class文件。
(3)在一个java文件中可以有多个class类的定义,但是只能有一个public class定义。
(4)在定义类名称时,类的名称首字母必须要大写。这是命名规则。
java中的关键字:
(1)虽然goto、const在java中并没有任何意义,却也是保留字,他们与其他的关键字一样,在程序中不能用来作为自定义的标识符。
(2)true、false、null虽然也不是关键字,但是却作为一个标识类型,也不能直接使用。
(3)assert、enum关键字是java新增加的,assert是jdk1.4增加的,enum是jdk1.5后增加的
我们在编写类的时候可以使用两种方式定义类:
public class定义类:
class定义类:
如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。
定义一个类(文件名称为:HelloWorld.java)
public class HelloWorld{ //声明一个类,类名称的命名规范:所有单词的首字母大写
public static void main(String args[]){ //主方法
System.out.println("Hello World!!!"); //系统输出,在屏幕上打印
}
};
public class HelloWorld { //声明一个类,类名称的命名规范:所有单词首字母大写
如果类的声明使用了class的话,则类名称可以与文件名称不一致,但是执行的时候,执行的是生成后的名称【HelloJava】。
定义一个类(文件名称为:Hello.java)
class HelloJava{
public static void main(String args[]){
System.out.println("Hello Java!!!");
}
};
文件名称为Hello.java,文件名称与类名称不一致,但是因为使用了class声明所以,此时编译不会产生任何错误,但是生成之后的*.class文件的名称是和class声明的类名称完全一致的:HelloJava.class
执行的时候不能再执行java Hello ,而是应该执行java HelloJava
在一个*.java的文件中,只能有一个public class的声明,但是允许有多个class的声明
public class Hello{
public static void main(String args[]){
System.out.println("Hello World!!!");
}
};
class A{};
class B{};
小结:public class是公共类的意思,public 是访问修饰符.java规定,一个类文件,public 修类的class只有一个,并且类名必须和你新建的这个类文件名一样,所以一个类文件中可以有多个类,但由public修饰的类只能有一个.
//File name: HelloDemo.java package com.package1; public class Hello { } public class A{}; private class B{}; // protected class B{};
编译出错:
Error:(4, 8) java: class Hello is public, should be declared in a file named Hello.java
Error:(7, 8) java: class A is public, should be declared in a file named A.java
Error:(8, 9) java: modifier private not allowed here //Error:(8, 11) java: modifier protected not allowed here
编译OK后,将生成三个class文件:A.class B.class HelloDemo.class
与C++的区别:
C++中public关键字不能修饰类,只能修饰成员变量,成员方法。
C++没有包的概念,与之类似的是C++名字空间(比如:using namespace std)
包中,只有public修饰的类,才能在包外部包可见,否则只是包内私有的类。
//File name: HelloDemo.java package com.package1; public class HelloDemo { public static void main_test(String[] args) { System.out.println("Enter ..."); } } class A{} class B{}
//File name: Main.java package com.company; public class Main { public static void main(String[] args) { System.out.println("Enter main ..."); com.package1.HelloDemo demo = new com.package1.HelloDemo(); com.package1.A a; //没有import,也可通过全路径访问HelloDemo, java中的import与C++中的include就不是相似的东东。
Main.java编译出错:
Error:(8, 21) java: com.package1.A is not public in com.package1; cannot be accessed from outside package
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛