Java 源文件聲明規(guī)則
當在一個源文件中定義多個類,并且還有 import 語句和 package 語句時,有一些規(guī)則需要注意
- 一個源文件中只能有一個 public 類
- 一個源文件可以有多個非 public 類
- 源文件的名稱應(yīng)該和 public 類的類名保持一致
假如源文件中 public 類的類名是 Employee园蝠,那么源文件應(yīng)該命名為 Employee.java - 如果一個類定義在某個包中,那么 package 語句應(yīng)該在源文件的首行
- 如果源文件包含 import 語句延曙,那么應(yīng)該放在 package 語句和類定義之間
如果沒有 package 語句娃磺,那么 import 語句應(yīng)該在源文件中最前面 - import 語句和 package 語句對源文件中定義的所有類都有效
在同一源文件中,不能給不同的類不同的包聲明
類有若干種訪問級別徽职,并且類也分不同的類型:抽象類和 final 類象颖、內(nèi)部類、匿名類
Java 包 ( package )
包主要用來對類和接口進行分類
當開發(fā) Java程序時姆钉,可能編寫成百上千的類说订,因此很有必要對類和接口進行分類
import語句
Java 中抄瓦,如果給出一個完整的限定名,包括包名陶冷、類名钙姊,那么 Java 編譯器就可以很容易地定位到源代碼或者類
import 語句就是用來提供一個合理的路徑,使得編譯器可以找到某個類
例如下面的語句將指示編譯器載入j ava_installation/java/io 路徑下的所有類
import java.io.*;
范例
下面這個范例演示了 包 和 import 語句的使用
我們先新建兩個類 Employee 和 EmployeeTest
Employee 類有四個成員變量:name埂伦、age煞额、designation 和 salary
該類顯式聲明了一個構(gòu)造方法,該方法只有一個參數(shù)
Employee.java
import java.io.*;
public class Employee{
String name;
int age;
String designation;
double salary;
// Employee 類的構(gòu)造器
public Employee(String name){
this.name = name;
}
// 設(shè)置age的值
public void empAge(int empAge){
age = empAge;
}
/* 設(shè)置designation的值*/
public void empDesignation(String empDesig){
designation = empDesig;
}
/* 設(shè)置salary的值*/
public void empSalary(double empSalary){
salary = empSalary;
}
/* 打印信息 */
public void printEmployee(){
System.out.println("名字:"+ name );
System.out.println("年齡:" + age );
System.out.println("職位:" + designation );
System.out.println("薪水:" + salary);
}
}
程序都是從 main 方法開始執(zhí)行
為了能運行這個程序赤屋,必須包含 main 方法并且創(chuàng)建一個實例對象
EmployeeTest 類是程序入口類立镶,該類實例化 2 個 Employee 類的實例,并調(diào)用方法設(shè)置變量的值
EmployeeTest.java
import java.io.*;
public class EmployeeTest{
public static void main(String args[]){
/* 使用構(gòu)造器創(chuàng)建兩個對象 */
Employee empOne = new Employee("RUNOOB1");
Employee empTwo = new Employee("RUNOOB2");
// 調(diào)用這兩個對象的成員方法
empOne.empAge(26);
empOne.empDesignation("高級程序員");
empOne.empSalary(1000);
empOne.printEmployee();
empTwo.empAge(21);
empTwo.empDesignation("菜鳥程序員");
empTwo.empSalary(500);
empTwo.printEmployee();
}
}
編譯這兩個文件并且運行 EmployeeTest 類类早,可以看到輸出如下
名字:RUNOOB1
年齡:26
職位:高級程序員
薪水:1000.0
名字:RUNOOB2
年齡:21
職位:菜鳥程序員
薪水:500.0