LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
(Object Oriented Programming)
Chương 2. Ngơn ngữ lập trình
Java
TRẦN MINH THÁI
Email:
Website: www.minhthai.edu.vn
Cập nhật: 11 tháng 05 năm 2016
Nội dung
#2
1. Lịch sử ngôn ngữ Java
2. Giới thiệu các IDE cơ bản
3. Cách biên dịch và chạy chương trình Java
4. Các kiểu dữ liệu và cấu trúc dữ liệu cơ bản trong Java
5. Phương thức trong Java
6. Khai báo phương thức
7. Phương thức tĩnh
8. Nạp chồng các phương thức
#3
Cơ bản về ngôn ngữ Java
Lịch sử ngơn ngữ Java
#4
James Gosling và nhóm kỹ sư của Sun Microsystems bắt
đầu dự án ngôn ngữ Java vào tháng 6 năm 1991 để lập trình
điều khiển các thiết bị điện tử (tivi, máy giặt, tủ lạnh, …)
Ngôn ngữ nhanh, gọn, hiệu quả và độc lập thiết bị
Ra đời 1995, tên gọi ban đầu “Oak” sau đó đổi tên thành
“Java”
Kế thừa cú pháp của C & đặc trưng Hướng đối tượng của
C++
Lịch sử ngơn ngữ Java
#5
• Tháng 6/1995 Sun giới thiệu ngơn ngữ Java (Java 1.0)
• 13/11/2006, Sun phát hành Java với phần lớn miễn phí
và phần mềm mã nguồn mở theo các điều khoản GNU,
General Public License (GPL)
• Ngày 08/05/ 2007, Sun cung cấp miễn phí code lõi của
Java và open-source
Lịch sử ngơn ngữ Java
#6
Các phiên bản
• Nền tảng J2SE (Java Standard Edition) tiêu chuẩn
• Nền tảng J2EE (Java Enterprise Applications Edition)
cho các ứng dụng doanh nghiệp
• Nền tảng J2ME (Java Mobile Applications Edition)
cho các ứng dụng di động
Ngơn ngữ Java
#7
• Là một ngơn ngữ hướng đối tượng (Object Oriented
Programming) đầy đủ: khơng thể viết theo hướng thủ
tục
• Cho phép tạo Application hoặc Applet (chạy trên trình
duyệt có hỗ trợ Java)
• Sử dụng 2 cơ chế: Interpreter | Compiler
• Viết một lần (Write Once), Chạy ở mọi thiết bị khác
nhau (Run Anywhere)
Đặc điểm ngơn ngữ Java
#8
1. Đơn giản (Simple)
2. Hồn tồn hướng đối tượng (Object Oriented)
3. Độc lập phần cứng và hệ điều hành (Platform independent)
4. Bảo mật (Secure)
5. Mạnh mẽ (Robust)
6. Đa luồng (Multithreading)
7. Hiệu suất cao (High performance)
8. Phân tán (Distributed)
9. Linh động (Dynamic)
Đặc điểm ngôn ngữ Java
#9
Đơn giản: Java được thiết kế để dễ học, quen thuộc. Nếu
hiểu được những khái niệm cơ bản về OOP, sẽ dễ dàng
làm chủ Java
Loại bỏ những đặc trưng phức tạp:
Con trỏ
Định nghĩa chồng toán tử
Đa kế thừa thay bằng interface
Loại bỏ struct và union
…
Đặc điểm ngơn ngữ Java
#10
• Hướng đối tượng: Mọi thứ là một đối tượng. Java có
thể dễ dàng mở rộng kể từ khi nó được dựa trên mơ
hình đối tượng
• Độc lập phần cứng và hệ điều hành: Khi Java được
biên dịch, nó khơng được biên dịch vào một nền tảng
cụ thể mà là bytecode. Bytecode này được thông dịch
bởi máy ảo (JVM) tùy vào nền tảng mà nó đang thực
thi Không cần biên dịch lại mã nguồn
Đặc điểm của ngơn ngữ Java
#11
• Bảo mật: Quản lý thực thi chương trình ở nhiều mức
1. Dữ liệu và phương thức được đóng gói bên trong lớp
2. Trình biên dịch kiểm sốt mã an tồn và kiểm sốt
tn thủ đúng quy tắc của Java
3. Trình thơng dịch kiểm sốt bytecode đảm bảo quy tắc
an toàn trước khi thực thi
4. Kiểm soát việc nạp vào bộ nhớ, giới hạn truy xuất
trước khi nạp vào hệ thống
Đặc điểm của ngơn ngữ Java
#12
• Mạnh mẽ: Java nỗ lực loại trừ tình huống dễ bị lỗi
bằng cách nhấn mạnh chủ yếu vào việc kiểm tra lỗi thời
điểm biên dịch và thực thi
Khai báo kiểu dữ liệu tường minh
Không dùng con trỏ và phép toán con trỏ
Kiểm soát việc truy xuất ngoài phạm vi dữ liệu mảng
Cấp phát và giải phóng bộ nhớ được thực hiện tự
động (garbage collection)
Cơ chế bẫy lỗi giúp kiểm soát và đơn giản trong xử lý
lỗi và phục hồi sau lỗi
Đặc điểm của ngơn ngữ Java
#13
• Đa luồng: Có thể viết chương trình có thể làm nhiều việc
cùng một lúc. Cho phép các nhà phát triển xây dựng các
ứng dụng tương tác chạy đồng thời & đồng bộ
• Hiệu suất cao: Với việc sử dụng các trình biên dịch JustIn-Time (bytecode machine code)
• Phân tán: Java được thiết kế để hỗ trợ ứng dụng chạy
trên mạng, cho môi trường phân tán, chạy trên nhiều nền
khác nhau của Internet
Đặc điểm của ngơn ngữ Java
#14
• Linh động: Java được coi là linh động hơn so với C
hoặc C++ vì nó được thiết kế để thích ứng với mơi
trường phát triển mở
• Các chương trình Java có thể xử lý số lượng lớn thơng
tin thực thi mà có thể được dùng để xác minh và giải
quyết các truy cập đến các đối tượng trong thời gian
thực thi
Các thành phần trong môi trường Java
#15
1. Java language
2. Bytecode definitions
3. Java/ Sun Class libraries
4. The Java Virtual Machine (JVM)
5. The structure of .class file
JVM?
#16
Chương trình
Java (file.java)
javac.exe : compiler
platform
Java Bytecode (file.class)
JVM (java.exe)
OS
Hardware
Dùng cơ chế Just-InTime thông dịch
bytecode thành lệnh máy
cụ thể
Java Run-time Environment (JRE)
Compile-Time
#17
#18
Java Run-time
Environment (JRE)
Run-Time
Java Development Kit - JDK
#19
Gồm 4 thành phần (download: )
1. Classes
2. Compiler
3. Debugger
4. Java Runtime Environment
Các cơng cụ chính trong JDK
#20
Trong thư mục BIN của JDK có:
• Javac
(Java
Compiler):
Dịch
source
code
Independent Bytecode
• java : Thực thi class file trong JVM
• appletviewer : cho phép chạy applet mà khơng cần
Browser
Các IDE cơ bản
#21
• Netbeans: miễn phí và open-source
/>• Eclipse: open-source />• Thiết lập mơi trường làm việc cho Java sau khi cài đặt, ví dụ
Windows: Thêm vào Path ‘c:\Program Files\java\jdk\bin’
Trong Linux, UNIX,Solaris,
FreeBSD: Thêm vào cuối
file .bashrc: ‘export PATH=/path/to/java:$PATH'
Kiểm tra xem cài đặt thành công? dùng lệnh
javac -version
java -version
Sử dụng IDE Eclipse
#22
• Tạo mới Project
Sử dụng IDE Eclipse
#23
• Tạo mới Project
- Đặt tên Project
- Chọn Finish
Sử dụng IDE Eclipse
#24
Tạo mới class
Sử dụng IDE Eclipse
#25
•
-
Tạo mới class
Chọn/ tạo Package
Đặt tên Project
Chọn Finish