1. 程式人生 > >Java千百問_05面向物件(002)_package和import作用是什麼

Java千百問_05面向物件(002)_package和import作用是什麼

1、java中package是什麼

。簡單地說,它是分類class(類)與interface(介面)的方式。
在Java開發中,將會寫數以百計的類和介面,因此,對它們分類是必須的。
瞭解更多類看這裡:類、物件到底有什麼祕密
瞭解更多介面看這裡:介面和抽象類有什麼區別

2、java中import有什麼用

在java中,編譯器是根據包名+類名找到類的,而import語句是告訴編譯器找到指定的類。
例如,要求編譯器來載入所有目錄中java安裝/java/io可用的類:

import java.io.*;

3、原始檔中如何宣告的規則

在原始檔中,宣告類、宣告包和寫import語句時,有些規則是必不可少的。

  1. 在每一個原始檔中只能有一個public類
  2. 原始檔可以有多個非public類
  3. public類名應該是原始檔,以及應當以.java副檔名結尾。例如:類名是- public class Employee{}將原始檔應為Employee.java。
  4. 如果類在包中定義,那麼package語句應該是原始檔中的第一條語句
  5. 如果import語句都存在,那麼它們必須寫package語句和類宣告之間。如果沒有包(package)語句,那麼import語句應該是原始檔中的第一行。
  6. import和package語句是針對原始檔中的所有類。不同的import或package語句不能在同一個原始檔中。
  7. 類有四個訪問級別
    ,且有不同的型別,如抽象類,final類等(使用修飾符表示)。java修飾符看這裡:public、privite、protected有什麼區別
  8. 除了上述型別的類,java中還有內部類、匿名類等。

4、java原始檔如何編寫

首先開啟記事本,建立兩個類:Employee和EmployeeTest,儲存為名稱為Employee.java、EmployeeTest.java,這就是java原始檔
這裡Employee類和EmployeeTest類是公共類
其中,Employee類有一個明確的建構函式,它接受一個引數。且有四個例項變數的名字,年齡,名稱和工資。

import java.io.*;
public
class Employee{ String name; int age; String designation; double salary; // This is the constructor of the class Employee public Employee(String name){ this.name = name; } // Assign the age of the Employee to the variable age. public void empAge(int empAge){ age = empAge; } /* Assign the designation to the variable designation.*/ public void empDesignation(String empDesig){ designation = empDesig; } /* Assign the salary to the variable salary.*/ public void empSalary(double empSalary){ salary = empSalary; } /* Print the Employee details */ public void printEmployee(){ System.out.println("Name:"+ name ); System.out.println("Age:" + age ); System.out.println("Designation:" + designation ); System.out.println("Salary:" + salary); } }

下面給出的是EmployeeTest類,它建立了Employee類的兩個例項物件,並呼叫方法為每個物件中的屬性賦值。
其中有一個特殊方法:main方法。執行類實際上是執行該類的main方法(沒有main方法的類不能執行)。

import java.io.*;
public class EmployeeTest{

   public static void main(String args[]){
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

現在,編譯這兩個類,然後執行EmployeeTest(如何編譯看這裡:如何用記事本編寫Java程式):
C :> javac Employee.java
C :> vi EmployeeTest.java
C :> javac EmployeeTest.java
C :> java EmployeeTest

執行結果如下:
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0