Ng 4.1 Các gĩi trong Java.

Một phần của tài liệu Tài liệu JAVA_3_4 docx (Trang 32 - 36)

Bên c nh đĩ, Java cịn cung c p thêm nhi u gĩi đ phát tri n các ng d ng và các applet c a b n. N u b n khơng khai báo các gĩi trong đo n mã c a b n, thì các l p và các giao di n c a b n sau khi k t thúc s n m trong m t gĩi m c đnh mà khơng cĩ tên. Thơng th ng, gĩi m c

đnh này ch cĩ ý ngh a cho các ng d ng nh ho c các ng d ng t m th i, nh là các ng d ng mà b n v a m i b t đ u đ phát tri n sau này. Khi b n b t đ u vi c phát tri n cho m t ng d ng l n, b n cĩ khuynh h ng phát tri n m t s các l p. B n c n t ch c các l p đĩ trong các th m c khác nhau đ d dàng truy c p và v n d ng. làm đ c đi u này, b n ph i đ t chúng vào các gĩi đã đ t tên.

Ph n l n v vi c làm v i các gĩi là b n cĩ đ c quy n đ s d ng các tên l p gi ng nhau, nh ng b n ph i đ t chúng vào các gĩi khác nhau.

4.4.1 T o m t gĩi

Gĩi là m t ph ng th c h u d ng đ nhĩm các l p mà tránh đ c các tên trùng nhau. Các l p v i nh ng tên gi ng nhau cĩ th đ t vào các gĩi khác nhau. Các l p đ c đ nh ngh a b i ng i s d ng c ng cĩ th đ c nhĩ l i trong các gĩi.

Các b c sau đây cho phép t o nên m t gĩi do ng i dùng đnh ngh a:

Khai báo gĩi b ng cách s d ng cú pháp thích h p. o n mã ph i b t đ u v i khai báo gĩi. i u này ch ra r ng l p đ c đnh ngh a trong t p tin là m t ph n c a gĩi xác

đnh.

package mypackage;

S d ng phát bi u import đ nh p các gĩi chu n theo yêu c u.

import java.util.*;

Khai báo và đnh ngh a các l p s n m trong gĩi đĩ. T t c các thành ph n c a gĩi s là public, đ cĩ th đ c truy c p t bên ngồi. Máy o Java (JVM) gi l i track (rãnh ghi) c a t t c các ph n t n m trong gĩi đĩ.

package mypackage; //khai báo gĩi import java.util.*;

public class Calculate //đnh ngh a m t l p {

int var;

{ var = n;

//các ph ng th c //…

public class Display //đnh ngh a m t l p {

…//Các ph ng th c

} } }

L u các đnh ngh a trên trong m t t p tin v i ph n m r ng .java, và d ch các l p

đ c đnh ngh a trong gĩi. Vi c d ch cĩ th th c hi n v i ch c n ng “-d”. Ch c n ng này t o m t th m c trùng v i tên gĩi, và đ t t p tin .class vào th m c đ c ch rõ.

javac –d d:\temp Calculate.java

N u khai báo gĩi khơng cĩ trong ch ng trình, l p ho c giao di n đĩ s k t thúc trong m t gĩi m c đ nh mà khơng cĩ tên.Nĩi chung, gĩi m c đnh này thì ch cĩ ngh a cho các ng d ng nh ho c t m th i.

Hãy ghi nh các đi m sau đây khi b n khai thác các gĩi do ng i dùng đnh ngh a trong các ch ng trình khác:

Mã ngu n c a các ch ng trình đĩ ph i t n t i trong cùng m t th m c v i gĩi đ c

đnh ngh a b i ng i s d ng.

cho các ch ng trình Java khác s d ng đ c các gĩi đĩ, hãy khai báo chúng vào

đo n mã ngu n.

nh p m t l p ta dùng:

import java.mypackage.Calculate; (adsbygoogle = window.adsbygoogle || []).push({});

nh p tồn b m t gĩi, ta làm nh sau:

import java.mypackage.*;

T o m t tham chi u đ n các thành ph n c a gĩi. Ta dùng đo n mã đ n gi n sau:

import java.io.*;

import mypackage.Calculate; class PackageDemo{

public static void main(String args[]){ Calculate calc = new Calculate(); }

Core Java

N u phát bi u import cho gĩi đĩ khơng đ c s d ng, thì tên l p ph i đ cs d ng v i tên gĩi c a nĩ sao cho phù h p v i ph ng th c trong l p đĩ. Cú pháp nh sau:

mypackage.Calculate calc = new mypackage.Calculate();

4.4.2 Thi t l p đ ng d n cho l p (classpath)

Ch ng trình d ch và ch ng trình thơng d ch tìm ki m các l p trong th m c hi n hành, và t p tin nén (zip) ch a các t p tin class JDK. i u này cĩ ngh a các t p tin class JDK và th m c ngu n t đ ng thi t l p classpath cho b n.Tuy nhiên, trong m t vài tr ng h p, b n c n ph i t thi t l p classpath cho b n.

Classpath là m t danh sách các th m c, danh sách này tr giúp đ tìm ki m các t p tin class t ng ng. Thơng th ng, ta khơng nên thi t l p mơi tr ng classpath m t th i gian dài. Nĩ ch thích h p khi thi t l p CLASSPATH đ ch y ch ng trình, nh khi ta thi t l p đ ng d n cho vi c th c thi hi n th i.

javac –classpath c:\temp Packagedemo.java

Th t c a các m c trong classpath thì r t quan tr ng. Khi b n th c thi đo n mã c a b n, mày o Java s tìm ki m các m c trong classpath c a b n gi ng nh th t đã đ c p, cho đ n khi nĩ tìm th y l p c n tìm.

Ví d c a m t gĩi Ch ng trình 4.3

Package mypackage; Public class calculate {

public double volume(double height, double width,double depth) {

return (height*width*depth); }

public int add(int x,int y) {

return (x+y); }

public int divide(int x,int y) { return (x/y); } } s d ng gĩi này, b n c n ph i: Khai báo l p đ c s d ng. Khai báo tồn b gĩi.

B n c n d ch t p tin này. Nĩ cĩ th đ c d ch v i tu ch n –d, nh đĩ, nĩ t o m t th m c v i tên c a gĩi và đ t t p tin .class vào th m c này.

javac –d c:\temp calculate.java

Ch ng trình biên d ch t o m t th m c đ c g i là “mypackage” trong th m c temp, và l u tr t p tin calculate.class vào th m c này.

Ví d sau bi u di n cách s d ng m t gĩi:

Ch ng trình 4.4

import java.io.*;

import mypackage.calculate; Class PackageDemo{

public static void main(String args[]){ Calculate calc = new calculate(); int sum = calc.add(10,20);

double vol = calc.volume(10.3f,13.2f,32.32f); int div = calc.divide(20,4); (adsbygoogle = window.adsbygoogle || []).push({});

System.out.println(“The addition is: ”+sum); System.out.println(“The Volume is: ”+vol); System.out.println(“The division is: ”+sum); }

}

N u b n s d ng m t l p t m t gĩi khác, mà khơng s d ng khai báo import cho gĩi đĩ, thì khi đĩ, b n c n ph i s d ng tên l p v i tên gĩi.

Mypackage.calculate calc = new mypackage.calculate( );

4.5 Gĩi và đi u khi n truy xu t

Các gĩi ch a các l p và các gĩi con. Các l p ch a d li u và đo n mã. Java cung c p nhi u m c đ truy c p thơng qua các l p, các gĩi và các ch đnh truy c p. B ng sau đây s tĩm t t quy n truy c p các thành ph n c a l p:

public protected No modifier private

Same class Yes Yes Yes Yes

Same packages subclass

Yes Yes Yes No

Same package non- subclass

Yes Yes Yes No

Different package s bclass

Core Java subclass Different package non-subclass Yes No No No B ng 4.2: Truy c p đ n các thành ph n c a l p. 4.6 Gĩi java.lang

Theo m c đnh, m i ch ng trình java đ u nh p gĩi java.lang. Vì th , khơng c n ph i khai báo m t cách rõ ràng gĩi java.lang này trong ch ng trình.

Một phần của tài liệu Tài liệu JAVA_3_4 docx (Trang 32 - 36)