Bài giảng lập trình hướng đối tượng JAVA - Pdf 12

Mục lục
Ch ng I: Gi i thi u v l p trình h ng i t ngươ ớ ệ ề ậ ướ đố ượ 5
1.1 Các cách ti p c n trong l p trìnhế ậ ậ 5
Ch ng I Gi i thi u v l p trình h ng i t ngươ ớ ệ ề ậ ướ đố ượ 5
1.1 Các cách ti p c n trong l p trìnhế ậ ậ 5
1.1.1L p trình h ng ch c n ng (th t c)ậ ướ ứ ă ủ ụ 6
1.1.2 L p trình h ng i t ngậ ướ đố ượ 7
1.2 Các khái ni m c b n c a l p trình h ng i t ngệ ơ ả ủ ậ ướ đố ượ 8
1.2.1 i t ngĐố ượ 8
1.2.2 L p i t ngớ đố ượ 9
1.2.3 Tr u t ng hóa d li uừ ượ ữ ệ 9
1.2.4 Bao b c v che gi u thông tinọ à ấ 10
1.2.5 S m r ng, k th a gi a các l pự ở ộ ế ừ ữ ớ 10
1.2.6 a x (t ng ng b i) v n p ch ngĐ ạ ươ ứ ộ à ạ ồ 11
1.2.7 Liên k t ngế độ 12
1.2.8 Truy n thông i pề đệ 12
1.3 Các ngôn ng l p trình h ng i t ngữ ậ ướ đố ượ 13
Ch ng II: Gi i thi u v l p trình v i Javaươ ớ ệ ề ậ ớ 20
2.1 S l c l ch s v s phát tri nơ ượ ị ử à ự ể 20
2.2 Chu trình phát tri n c a ch ng trình javaể ủ ươ 20
2.3 B JDK (Java Developer Kit)ộ 23
2.4 Các d ng ch ng trình ng d ng c a Javaạ ươ ứ ụ ủ 24
2.4.1 Ch ng trình ng d ng c l pươ ứ ụ độ ậ 24
2.4.2 Ch ng trình ng d ng nhúng Appletươ ứ ụ 26
* Chu trình ho t ng c a appletạ độ ủ 28
2.4.3 Ch ng trình ng d ng d ng Applet l n d ng c l pươ ứ ụ ở ạ ẫ ạ độ ậ 29
Tóm l i ch ng trình vi t b ng Java có th :ạ ươ ế ằ ể 30
Ch ng III: Các th nh ph n c s c a Javaươ à ầ ơ ở ủ 33
3.1 Các ph n t c s c a Javaầ ử ơ ở ủ 33
3.2 Các ki u d li u nguyên th yể ữ ệ ủ 36
3.3 Khai báo các bi nế 38

5.2.1 L p Objectớ 89
- Object cung c p các h m sau:ấ à 89
5.2.2 Các l p nguyên th y (Wrapper)ớ ủ 90
5.2.4 L p Mathớ 94
5.2.5 L p Stringớ 96
5.2.6 L p StringBufferớ 100
B i t pà ậ 102
Ch ng 6 Xu t nh p dòng v gói java.ioươ ấ ậ à 103
- 2 -
6.1 Dòng lu ng(Stream)– ồ 103
6.2 Xu t /nh p t p tin (lu ng v o/ra l t p tin)ấ ậ ệ ồ à à ệ 103
6.2.1 L p Fileớ 103
6.2.2 Các l p tr u t ng InputStream, OutputStreamớ ừ ượ 106
6.2.3 Các l p x lý t p FileInputStream v FileOutputStreamớ ử ệ à 107
6.2.4L p RandomAccessFileớ 109
6.2.5Các l p c/ghi d li u nguyên th y lên t p: DataInputStream,ớ đọ ữ ệ ủ ệ
DataOutputStream 111
6.3 V o\ra d li u trên các thi t b chu nà ữ ệ ế ị ẩ 112
- 3 -
1. Mục tiêu môn học
Giúp sinh viên có một cái nhìn tổng quan về các phương pháp, kỹ nghệ
hướng đối tượng để phát triển một phần mềm trong ngành Công nghệ phần
mềm. Đồng thời giúp sinh viên nắm vững các cách tiếp cận cơ bản trong lập
trình hiện nay, đặc biệt là phương pháp lập trình hướng đối tượng và có khả
năng sử dụng thành thạo ngôn ngữ lập trình hướng đối tượng java để lập trình
giải các bài toán
2. Tóm tắt nội dung môn học
Nội dung môn học được chia thành 6 chương:
Chương 1: Giới thiệu tổng quan về các cách tiếp cận trong lập trình,
các khái niệm cơ bản trong lập trình hướng đối tượng, tổng quan về các

1.1 Các cách tiếp cận trong lập trình
Để phát triển một hệ thống phần mềm, hiện nay ta có hai cách tiếp cận cơ bản đó là:
1) Cách tiếp cận hướng chức năng – Function Oriented
2) Cách tiếp cận hướng đối tượng (Object Oriented)
=> Ta cần phân biệt những đặc trưng cơ bản nhất, đánh giá mặt mạnh, mặt yếu của từng phương
pháp để hiểu rõ chúng và áp dụng chúng một cách hiệu quả nhất.
Chúng ta đã biết để phát triển một hệ thống phần mềm ta thường tuân theo quy trình
gồm các bước chính như sau:
B1) Đặc tả bài toán
B2) Phân tích & Thiết kế
B3) Cài đặt – lập trình
B4) Kiểm chứng
B5) Cải tiến phần mềm
Môn học của chúng đa quan tâm đến bước 3: Cài đặt - lập trình và đặt trọng tâm vào
phương pháp lập trình hướng đối tượng. Tương ứng với hai phương pháp cơ bản để
- 5 -
phát triển một hệ thống phần mềm, ta xét hai phương pháp lập trình phổ biến hiện
nay đó là phương pháp lập trình hướng chức năng và phương pháp lập trình hướng
đối tượng để từ đó tìm hiểu sâu về phương pháp lập trình hướng đối tượng.
1.1.1 Lập trình hướng chức năng (thủ tục)
Trọng tâm của cách tiếp cận này là các hàm chức năng. Chức năng chính của
bàitoán sẽ thành những chức năng đơn giản hơn và thực hiện làm mịn dần từ trên
xuống (top-down).
Cấu trúc của chương trình được xây dựng theo cách tiếp cận hướng chức năng
có dạng như Hình H1-1.

Hàm_1
Hàm
_2
Hàm

(Global)
Hµm_1
D÷ liÖu riªng
(Local)
Hµm_2
D÷ liÖu riªng
(Local)
Hµm_3
D÷ liÖu riªng
(Local)
Hình H1-2 Quan hệ giữa dữ liệu và hàm trong LTHTT
Nhận xét
 Đối với những chương trình, dự án tin học lớn, phức tạp đòi hỏi nhiều người, nhiều
nhóm tham gia thì những thay đổi của những biến dữ liệu liệu chung sẽ ảnh hưởng
tới tất cả những ai có liên quan tới chúng.
 Tính mở (open) của hệ thống kém.
 Tách dữ liệu khỏi chức năng xử lý nên vấn đề che giấu, bảo vệ thông tin trong hệ
thống là kém dẫn đến vấn đề an toàn, an ninh dữ liệu là rất phức tạp.
 Không hỗ trợ việc sử dụng lại và kế thừa nên chất lượng và giá thành của các phần
mềm rất khó được cải thiện.
1.1.2 Lập trình hướng đối tượng
 Đặt trọng tâm vào các đối tượng. Dữ liệu được gắn chặt với các hàm thành phần và
chúng được tổ chức, quản lý truy nhập theo nhiều mức khác nhau.
 Phân tích bài toán thành tập các thực thể được gọi là các lớp đối tượng, Hệ thống
được xem như là một tập các lớp đối tượng và các đối tượng đó trao đổi với nhau
thông qua việc gửi và nhận các thông điệp (message), do vậy một chương trình hướng
đối tượng thực sự có thể hoàn toàn không cần sử dụng biến chung.
Ví dụ: Xét bài toán quản lý tài liệu trong thư viện
- 7 -
Nhận xét

- 8 -
tượng có thể biểu diễn cho người, vật, hay một bảng dữ liệu hoặc bất kỳ một hạng thức
nào đó cần xử lý trong chương trình.
+ Theo quan điểm người lập trình: Đối tượng được xem như là một vùng bộ nhớ trong
mày tính, được phân chia thành nhiều ngăn dùng để lưu trữ các giá trị thuộc tính dữ
liệu và các hàm tác động trên dữ liệu gắn với chúng. Vì các vùng nhớ cung cấp cho đối
tượng là động, được phân hoạch độc lập nên đối tượng có thể được sử dụng bởi nhiều
chương trình khác nhau mà không ảnh hưởng lẫn nhau.
(1 đối tượng

1 biến trong lập trình cấu trúc)
1.2.2 Lớp đối tượng
 Lớp là bản mẫu hay một kiểu chung cho tất cả những đối tượng có những đặc trưng
giống nhau(hành vi và tài sản như nhau). Một đối tượng chính là 1 thể hiện (cá thể) của
một lớp xác định (thuộc một lớp xác định). Trong lập trình hướng đối tượng, lớp được
xem là đồng nhất với kiểu dữ liệu trừu tượng (ADT - Abstract Data Type được Barbara
đề xuất vào những năm 1970).
 Ví dụ: Quản lý học sinh
 Các thành phần của lớp có thể chia thành ba vùng quản lý chính:
+ công khai (public),
+ được bảo vệ (protected),
+ riêng (private).
Hình H1-3 Lớp Student trong UML
1.2.3 Trừu tượng hóa dữ liệu
Trừu tượng hóa là cách biểu diễn những đặc tính chính và bỏ qua những chi tiết. Trừu
tượng hóa là sự mở rộng khái niệm kiểu dữ liệu và cho phép định nghĩa những phép toán
trừu tượng trên các dữ liệu trừu tượng.
- 9 -
1.2.4 Bao bọc và che giấu thông tin
 Việc đóng gói dữ liệu và các hàm vào một đơn vị cấu trúc (gọi là lớp) được xem như một

Trong LTHĐT, khái niệm kế thừa kéo theo ý tưởng sử dụng lại – mở rộng (extends). Nghĩa là
từ một lớp đã được xây dựng, chúng ta tạo ra một lớp mới kế thừa lớp cũ và bổ sung thêm một
số tính chất mà không làm thay đổi những cái đã có (đã được kế thừa).
Có thể diễn đạt cơ chế kế thừa như sau:
1. Lớp A kế thừa lớp B sẽ có (không tường minh) tất cả các thuộc tính, hàm đã được
xác định trong B, ở những vùng được phép kế thừa (được bảo vệ, công khai),
2. Bổ sung thêm một số thuộc tính, hàm để mô tả được đúng các hành vi của những đối
tượng mà lớp A quản lý.
1.2.6 Đa xạ (tương ứng bội) và nạp chồng
 Đa xạ tương tự như trong toán học. Đa xạ là kỹ thuật được sử dụng để mô tả khả năng
gửi một thông điệp chung tới nhiều đối tượng mà mỗi đối tượng lại có cách xử lý riêng
theo ngữ cảnh của mình.
Hình H1-6 Tính đa xạ của hàm Ve()
=> Hàm có tên là Ve() có thể được sử dụng để vẽ các hình khác nhau phụ thuộc vào đối
tượng nhận thông điệp vẽ là đối tượng thuộc lớp hình nào. Nếu đối tượng nhận thông điệp là
hình vuông: Vẽ hình vuông, nếu là hình tam giác thì vẽ hình tam giác
 Nạp chồng (Overloading) là một trường hợp của đa xạ. Tức là với cùng một tên phương
thức (hàm) có thể được sử dụng để thực hiện các công việc khác nhau (nội dung các
phương thức khác nhau) tuỳ theo ngữ cảnh, cụ thể là tuỳ thuộc vào kiểu và số các tham
số của chúng.
- 11 -
Lớp cha
Các lớp con(các đối tượng thuộc lớp con cháu có quyền sử
dụng mà không cần khai báo hay định nghĩa lại)
 Ví dụ: Tùy thuộc vào đối số được truyền vào trong lời goị đến hàm cộng là kiểu gì mà
hàm cộng tương ứng được gọi để thực hiện.
int Cong(int, int); // Cộng hai số nguyên
float Cong(float, float); // Cộng hai số thực
Complex Cong(Complex, Complex); // Cộng hai số phức
String Cong(String, String); // Ghép hai xâu

lặp lại, dư thừa trong quá trình mô tả các lớp và mở rộng khả năng sử dụng các lớp đã
được xây dựng mà không phải viết lại.
2. Chương trình được xây dựng từ những đơn thể (đối tượng) trao đổi với nhau nên việc
thiết kế và lập trình sẽ được thực hiện theo quy trình nhất định chứ không phải dựa
vào kinh nghiệm và kỹ thuật như trước. Điều này đảm bảo rút ngắn được thời gian
xây dựng hệ thống và tăng năng suất lao động.
3. Nguyên lý che giấu thông tin giúp người lập trình tạo ra được những chương trình an
toàn không bị thay đổi bởi những đoạn chương trình khác một cách tuỳ tiện.
4. Có thể xây dựng được ánh xạ các đối tượng của bài toán vào đối tượng của chương trình.
5. Cách tiếp cận thiết kế đặt trọng tâm vào đối tượng, giúp chúng ta xây dựng được mô
hình chi tiết và phù hợp với thực tế.
6. Những hệ thống hướng đối tượng dễ mở rộng, nâng cấp thành những hệ lớn hơn.
7. Kỹ thuật truyền thông điệp trong việc trao đổi thông tin giữa các đối tượng giúp cho việc mô tả
giao diện với các hệ thống bên ngoài trở nên đơn giản hơn.
8. Có thể quản lý được độ phức tạp của những sản phẩm phần mềm.
1.3 Các ngôn ngữ lập trình hướng đối tượng
Dựa vào khả năng đáp ứng các khái niệm về hướng đối tượng, chúng ta có thể
chia ra làm hai loại:
1. Ngôn ngữ lập trình dựa trên đối tượng (object-based),
2. Ngôn ngữ lập trình hướng đối tượng (object-oriented).
- 13 -
• Lập trình dựa trên đối tượng là kiểu lập trình hỗ trợ chính cho việc bao
bọc, che giấu thông tin và định danh các đối tượng. Lập trình dựa trên đối
tượng có những đặc tính sau:
 Bao bọc dữ liệu,
 Cơ chế che giấu và hạn chế truy nhập dữ liệu,
 Tự động tạo lập và huỷ bỏ các đối tượng,
 Tính đa xạ.
Ngôn ngữ hỗ trợ cho kiểu lập trình trên được gọi là ngôn ngữ lập trình dựa trên
đối tượng. Ngôn ngữ trong lớp này không hỗ trợ cho việc thực hiện kế thừa và

hình của DOS.
- Các ứng dụng console được sử dụng rất rộng rãi, nó được dụng thường xuyên để minh
họa ngôn ngữ thuật toán, dùng để xử lý khối lượng công việc ở hậu trường không cần đến
giao diện hay tương tác nhiều.
- Ví dụ: Viết chương trình xuất ra màn hình xâu ký tự bất kỳ
2) Java – ứng dụng giao diện (java - bean)
- 15 -
java
Ưng dụng đa hệ nền
Ưng dụng bảo mật(bài
toán xử lý số lớn)
Ưng dụng mạng phân tán(giáo
trình điện tử)
Ưng dụng chuyên luồng
Ưng dụng đa luồng (BT tương
tranh trong hđh)
Ưng dụng console(cái đặt các
thuật toán, giải quyết công viêc
sau hậu trường )
Ưng dụng giao diện đồ họa(hoạt
hình, game, xlý ảnh)
Ưng dụng Web(chat, gửi thư, tạo
hiêu ứng web )
Ưng dụng điều khiển thiết
bị(trò chơi trên ĐTDĐ)
- JFC (Java Foundation Class) – Thư viện các lớp nền tảng, là một thư viện phong
phú và đa dạng đủ để bạn xây dựng bất kỳ một giao diện đồ họa phức tạp nào của
Windown đang có trên thị trường
- Đặc điểm nổi bật nhất của giao diện đồ họa viết bằng thư viện JFC của java là khả
năng dễ dàng thay đổi giao diện theo nhiều kiểu dáng khác nhau mà không cần

- CSDL là yếu tố không thể thiếu trong trong hầu hết các ứng dụng, việc hỗ trợ truy
xuất CSDL không phải lúc nào cũng đầy đủ trong các ngôn ngữ lập trình. Ví dụ
VB cung cấp rất nhiều cơ chế truy xuất CSDL thuận tiện như ODBC, ADO,
ADO.NET, OLEDB trong khi C/C++ không có
- Java hỗ trợ các cơ chế truy xuất CSDL mở với công nghệ JDBC (Java Database
Connectivity), cho phép truy xuất đến nhiều loại CSDL khác nhau như Oracle,
DB2. MýQL, SQL Server . JDBC cho phép truy cập dữ liệu thông qua mô hình đa
luồng rất thích hợp cho các ứng dụng phân tán.
7) Java – lập trình ứng dụng phân tán
- Lập trình ứng dụng phân tán là mục tiêu hướng đến của kiến trúc lập trình hiện
đại. Trên Internet mọi người cùng cộng tác làm việc => ứng dụng phải có khả
năng hoạt động và xử lý rời rạc, do đó không còn phải tập chung ở một chỗ nữa,
lời gọi hàm từ một máy, nhưng việc tính toán lại diễn ra trên một máy tính khác,
cuối cùng kết quả trả về tương tự như việc gọi hàm hay đối tượng trê máy tính cục
bộ.
- Web services là những công nghệ mà java hướng đến môi trường phân tán.
8) java – lập trình điều khiển thiết bị
So với các ứng dụng hiện thấy trên môi trường Window => ứng dụng java chạy quá
chậm, tuy nhiên java chạy rất nhanh và hiệu quả trên các thiết bị như ĐTDĐ, máy
Palm, thiết bị gia dụng (tủ lạnh, ti vi, điều hòa ). Khi chuyển sang môi trường Unix,
Linux hoặc thiết bị cầm tay thì java chiếm ưu thế tuyệt đối.
9) java – nền hệ điều hành và môi trường ứng dụng internet
- Java không đơn thuần là ngôn ngữ lập trình, java còn hơn thế nữa, java có thể
chạy thay hệ điều hành với một tập API phong phú.
- Mọi yêu cầu của hđh, java đều hỗ trợ như: Xuất/nhập tệp tin, quản lý người dùng,
bảo mật, CSDL, xử lý toán học, truy xuất mạng, kết nối internet, Máy ảo java là
một máy tính giúp java làm được mọi thứ.
- 17 -
Nhận xét
- ứng dụng ja va viết một lần và chạy được ở mọi nơi : Chương trình java có thể

Câu 11
Khi nào dùng từ khóa synchronized
- 19 -
Chương II: Giới thiệu về lập trình với Java
 Sơ lược lịch sử và sự phát triển
 Chu trình phát triển chương trình với Java,
 Môi trường lập trình Java,
 Các loại chương trình ứng dụng java .
 Bài tập
2.1 Sơ lược lịch sử và sự phát triển
- Năm 1990, James Gosling được công ty Sun MicroSystem giao nhiệm vụ xây dựng một
phần mềm lập trình cho các mặt hàng điện dân dụng với mục đích nhỏ gọn và tương thích với
nhiều thiết bị phần cứng khác nhau => Ông đã tiến hành xây dựng và lấy tên phần mềm là
OAK (cây sồi – vì trước cửa làm việc của ông có gốc cây sồi). Sau đó OAK được phát triển
nhanh chóng và được đổi tên là Java (tên một hòn đảo nơi ông và các thành viên trong nhóm
đi thăm quan – Nơi có món cà phê đặc sản rất ngôn – biểu tượng của java).
- Năm 1993, hệ thống Web thế giới ra đời mạnh mẽ và chuyển các thông tin trên web từ dạng
văn bản sang dạng đồ họa => java được phát triển thêm và là một ngôn ngữ phục vụ hoàn hảo
nhất cho lập trình trên web (Web Applet)
- Năm 1995, Sun MicroSystem công bố chính thức ấn phẩm sách java đầu tiên và lấy tên là
Java – java series.
=> Java nhanh chóng được đón nhận như một công cụ mạnh mẽ cho việc phát triển các ứng
dụng cho Internet (các chương trình hỗ trợ cho việc đăng nhập từ xa, chương trình tải web,
gửi thư ). Các trình duyệt web lần lượt đưa ra sự hỗ trợ cho java.
- java được xây dựng chủ yếu trên bộ công cụ phát triển java JDK (java developtment kit).
Đây là một thư viện chuẩn, trong đó chứa các trình biên dịch, trình thông dịch, trợ giúp, soạn
thảo tài liệu Đó là nền tảng cho việc phát triển các ứng dụng java
- Hiện nay các nhà thiết kế phần mềm đã xây dựng cho java thêm rất nhiều các nhánh mời
như: Java – thư tín; java – viễn thông,
- Năm 1996, java được cải tiến tăng thêm các hàm giao diện (Awt), các công cụ toán học

(Header File)
Tệp chứa chương
trình chính
main()
{ }
Tệp mã đích
(Object File)
Tệp thư viện
(Object File)
Chương trình ứng dụng
hiện thời
Gỡ lỗi
(Debug)
Kiểm tra
(Test)
Chương
trình nguồn
2. Các chương trình C/C++ được dịch sang một mã máy có cấu hình cố định vì vậy khi
được nạp từ trên mạng xuống một máy có cấu hình khác sẽ không thực hiện được.
3. Điều mà chúng ta muốn nhất hiện nay là cần có một ngôn ngữ thông dịch thật mạnh để
khắc phục những nhược điểm trên, đặc biệt để phát triển được dễ dàng các ứng dụng
với Web trên mạng.
=> Java vượt qua được các nhược điểm trên bằng cách dịch các chương trình nguồn sang ngôn
ngữ máy ảo không phụ thuộc vào chip (hệ lệnh cụ thể) nào cả và sau đó khi cần thực hiện sẽ
thông dịch sang hệ máy cụ thể. Kết quả của chương trình sau khi biên dịch là chuỗi các bytes cơ
sở bao gồm các mã lệnh thực hiện (Opcode) và các tham số của máy lý thuyết (máy ảo), là máy
Java ảo (JVM - Java Virtual Machine). Chương trình Java được dịch và thực hiện như sau:
Hình H2- 2 Quá trình dịch và thông dịch chương trình Java
- Java giải quyết vấn đề tốc độ bằng cách dịch chương trình nguồn sang các mã byte
(byte codes). Khi JVM thực hiện, nó sẽ tìm các đối tượng cần tham chiếu của các lớp

Byte Codes
Gỡ lỗi
Dịch
Kiển tra và
thông dịch
Nạp các lớp
tham chiếu
Hình H2-3 Quá trình phát triển chương trình Java
Tóm lại, C/C++ và Java là những ngôn ngữ nhằm những mục đích khác nhau.
 Đối với C/C++ cái chính là tốc độ, mạnh mẽ và uyển chuyển trong lập trình. Khi thực
hiện chương trình C/C++ thì mọi việc của hệ thống đều phải bắt đầu và kết thúc ở một
chương trình con đặc biệt, hàm main(). Chúng ta có thể sử dụng thư viện động, những
thứ yêu cầu được liên kết lại khi cần, nhưng về tổng thể là phải định nghĩa và xác định
ngay từ trước khi dịch.
 Đối với Java mục đích chính là: đơn giản, thân thiện, hướng đối tượng và cách tân
nhằm tạo ta những phần mềm độc lập với môi trường. Khi chạy một chương trình ứng
dụng Java thì cần chỉ ra những lớp đối tượng mà bạn muốn chúng thực thi những công việc
cần thực hiện và JVM sẽ nạp các lớp đó xuống khi có nhu cầu. Java có thể dịch và thực
hiện trong mọi môi trường điều hành, miễn là ở đó có chương trình thông dịch (máy Java
ảo - JVM).

2.3 Bộ JDK (Java Developer Kit)
Hiện nay có nhiều môi trường hỗ trợ để phát triển phần mềm với Java như: Visual J++,
Symatec’s Cafe, Borland JBuilder, JDK, JCreator Pro Bộ JDK do Sun cung cấp theo Web
Site: http:// java.sun.com . Bộ JDK cung cấp các công cụ và các chương trình sau:
1. javac Chương trình dịch chuyển mã nguồn sang mã byte.
2. java Bộ thông dịch: Thực thi các ứng dụng độc lập, các tệp tin .class trực tiếp.
3. appletviewer Bộ thông dịch: Thực thi các ứng dụng nhúng (java applet) từ tệp tin
HTML mà không cần sử dụng trình duyệt như Nestcape, hay Internet
Explorer, v.v.

hay không;
3) Biên dịch tệp chương trình nguồn để tạo ra các tệp mã byte code với các đuôi “.class” tương ứng;
4) Sử dụng chương trình thông dịch của Java để chạy chương trình đã dịch.
Ví dụ 2.1 Chương trình ứng dụng độc lập.
Bài toán: Viết chương trình hiển thị lên màn hình một xâu ký tự bất kỳ
// StandaloneApp.java
public class StandaloneApp{
public static void main (String args[]){
System.out.println(“ Chao các bạn!”);
}
}
- 24 -
* Tệp chương trình StandaloneApp có tên trùng với tên của lớp StandaloneApp, trong đó có hàm
main(). Hàm này luôn có dạng:
public static void main(String args[]){
// Nội dung thực hiện của chương trình
}
Trong đó:
+ Từ khóa public: Cho biết hàm main là hàm công khai, mọi đối tượng trong hệ thống
chương trình đều có quyền truy cập hàm này
+ Từ khóa static: Hàm main là hàm tĩnh, phụ thuộc vào cả một lớp, không phụ thuộc
vào đối tượng cụ thể nào => Không cần tạo lập đối tượng để gọi những hàm như thế.
+ Từ khóa void : hàm main không trả về bất kỳ giá trị nào.
+ Đối số (String agrs[]): Chứa các đối số nhập vào từ tham số dòng lệnh
* Biên dịch và thông dịch để thực hiện chương trình java qua cơ chế dòng lệnh:
Ví dụ: Biên dịch và thông dịch chương trình: StandaloneApp.java
- Biên dich: Tại màn hình DOS, gõ lệnh
javac StandaloneApp.java ↵
=> Kết quả ta thu được tệp StandaloneApp.class chứa mã byte code của lớp tương ứng
nếu dịch thành công, nếu chương trình có lỗi cú pháp thì thông báo lỗi.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status