一、Java程序入口
程序都是从main方法开始执行。为了能运行程序,必须包含main方法,这是程序的入口。
例:
public class HelloWorld {
public static void main(String []args) {
System.out.println("Hello World");
}
}
若源文件中的类名与文件名一致,那么这个类的类名默认为public,此时可以省略类名前面的public,程序入口main函数必须写在此类中。
那么能否有另一个public类呢?
二、java源文件的声明规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则:
-
一个源文件中只能有一个public类。
-
一个源文件可以有多个非public类。
-
源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
-
如果一个类定义在某个包中,那么package语句应该在源文件的首行。
package mytest;
import java.io.*;
class EmployeeTest {
}
-
如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
-
import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
-
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。这些将在后续章节介绍。
除了上面提到的几种类型,Java还有一些特殊的类,如内部类、匿名类。
一个简单的例子,在该例子中,我们创建两个类 Employee 和 EmployeeTest,分别放在包 mytest 和 mytest1 中。
package mytest;
import java.io.*;
public class Employee {
String name;
int age;
double salary;
public Employee(String name) {
this.name = name;
}
public void setAge(int setAge) {
age = setAge;
}
public void setSalary(double setSalary) {
salary = setSalary;
}
public void printlnAttr() {
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("薪水:"+salary);
}
}
package mytest1;
import java.io.*;
import mytest.Employee;
class EmployeeTest {
public static void main(String []args) {
System.out.println("my");
Employee xiaoming = new Employee("xiaoming");
xiaoming.setAge(10);
xiaoming.setSalary(12.5);
xiaoming.printlnAttr();
}
}