
NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Comễ ị ế
Đây là đ c ng môn l p trình h ng đ i t ng v i Java do th y Nguyên-tr ngề ươ ậ ướ ố ượ ớ ầ ườ
ĐH CNTT-TT Thái Nguyên đ a raư
Trong b đ c ng này có c lý thuy t và bài t p cho các b n ôn t pộ ề ươ ả ế ậ ạ ậ
Chúc t p th K8e thi th t t t nhéậ ể ậ ố
R nh thì ghé thăm di n đàn chia s tài li u h c t p ả ễ ẻ ệ ọ ậ http://ebookso1.com
=======================================================
Lý thuy t .ế
●Hãy nêu khái ni m: l p các đ i t ng , đ i t ng, l p trình h ng đ iệ ớ ố ượ ố ượ ậ ướ ố
t ng trong ngôn ng l p trình h ng đ i t ngượ ữ ậ ướ ố ượ
L p là m t khái ni m trìu t ng dùng đ bi u di n m t t p các đ i t ng, cóớ ộ ệ ượ ể ể ễ ộ ậ ố ượ
m t vài đ c đi m chung nào đóộ ặ ể
●Nêu các quy t c truy n tham s trong ngôn ng javaắ ề ố ữ
trong java ch có duy nh t 1 cách truy n tham s là: ỉ ấ ề ố truy n tham trề ị
Không t n t i ồ ạ truy n tham chi uề ế
- Truy n m t bi n nguyên: hi b n chuy n m t bi n ki u nguyên cho m tề ộ ế ạ ề ộ ế ể ộ
ph ng th c thì java s t o ra m t b n sao cho bi n nguyên đó. Vì th m iươ ứ ẽ ạ ộ ả ế ế ọ
thay đ i c a bi n trong ph ng th c đó đ u không nh h ng t i bi n banổ ủ ế ươ ứ ề ả ưở ớ ế
đ uầ
- Truy n d li u ki u reference: ề ữ ệ ể
Trước hết mình cùng phân tích một statement:
MyClass a = new MyClass();
Khi thực hiện câu lệnh này, Java tạo ra một đối tượng trong bộ nhớ (không cần quan tâm nó nằm ở
đâu) và trả về một giá trị tham chiếu đến đối tượng đó. Như vậy a không phải là một đối tượng mà chỉ là
một reference tới đối tượng mà thôi.
Mình cùng phân tích một statement tiếp theo:
MyClass b = a;
Mặc dù sau câu lệnh này mình có hai giá trị a, b khác nhau. Nhưng hai reference bằng nhau sẽ chỉ đến
cùng một đối tượng nên hai giá trị a và b sẽ chỉ đến cùng một đối tượng trong bộ nhớ. Vì cùng chỉ đến
một đối tượng duy nhất nên khi a thay đổi thì b sẽ bị ảnh hưởng và ngược lại. Chính vì điểm này nên khi
gán một reference vào một phương thức thì bản copy của reference này sẽ gây thay đổi đến đối tượng
thực trong bộ nhớ.
Cơ chế của 1 và 2 là như nhau. Nhưng bạn cần tìm hiểu kỹ về hai loại data này để hiểu tốt hơn tại sao
đối tượng bị thay đổi khi gán và một phương thức.
Câu 1:
●Hãy nêu các khái ni m k th a, đa hình, trong l p trình h ng đ iệ ế ừ ậ ướ ố
t ngượ .
K th a:ế ừ
K th a là vi c t o ra m t l p t m t l p đã bi t. l p m i đ c t o ra th aế ừ ệ ạ ộ ớ ừ ộ ớ ế ớ ớ ượ ạ ừ
h ng t t c các thu c tính và ph ng th c c a l p cũưở ấ ả ộ ươ ứ ủ ớ

NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Comễ ị ế
Khi mu n vi t l i m t ph ng th c đã có s n trong l p cha ta ph i n p ch ngố ế ạ ộ ươ ứ ẵ ớ ả ạ ồ
ph ng th c đó (th c ra là vi t m t ph ng th c m i có cùng tên, ki u giá tr trươ ứ ự ế ộ ươ ứ ớ ể ị ả
v và tham s v i ph ng th c đã có l p ề ố ớ ươ ứ ở ớ
cha)
các d li u có khai bai báo là protect, public , final thì l p con có thữ ệ ớ ể
th a kừ ế
- Đa hình
Đa hình là vi c g i m t trong nhi u ph ng th c có cùng tên và n mệ ọ ộ ề ươ ứ ằ
trong cùng m t l p. Java s d a và ki u tr v và tham s truy n vàoộ ớ ẽ ự ể ả ề ố ề
đ g i ph ng th c cho phù h pể ọ ươ ứ ợ
●Anh ch hãy gi i thích khái ni m bao b c và che d u thông tinị ả ệ ọ ấ
trong l p trình h ng đ i t ng.ậ ướ ố ượ
● Hãy nêu các khái ni m đ i t ng, l p các đ i t ng trong l pệ ố ượ ớ ố ượ ậ
trình h ng đ i t ng.ướ ố ượ
● Hãy nêu c u trúc m t t p ch ng trình trong ngôn ng l p trìnhấ ộ ệ ươ ữ ậ
h ng đ i t ng java.ướ ố ượ
● Anh(ch hãy nêu) c u trúc, m c đích ý nghĩa try-catch-finallyị ấ ụ
trong java và gi i thích nguyên lý ho t đ ng c a c u trúc này.ả ạ ộ ủ ấ
● Hãy nêu các lo i ch ng trình có th phát tri n trong javaạ ươ ể ể
● Hãy nêu các quy t c chuy n đ i ki u và ng c nh ph i s d ngắ ể ổ ể ữ ả ả ử ụ
quy t c chuy n đ i ki u trong ngôn ng java .ắ ể ổ ể ữ
● Hãy nêu khái ni m n p ch ng trong java. L y ví d minh h aệ ạ ồ ấ ụ ọ
● Hãy nêu khái ni m vi t đè trong java. L y ví d minh h aệ ế ấ ụ ọ
● Hãy phân bi t hai khái ni m n p ch ng và vi t đè trong java.ệ ệ ạ ồ ế
L y ví d minh h aấ ụ ọ
● Đ nh nghĩa ngo i l trong l p trình và c ch b t và s lý ngo iị ạ ệ ậ ơ ế ắ ử ạ
l trong ngôn ng java.ệ ữ
● Hãy nêu c u trúc phân c p x lý ngo i l trong javaấ ấ ử ạ ệ
● Hãy nêu cách s d ng hai m nh đ throw và throws trong ngônử ụ ệ ể
ng java.ữ
Hãy nêu c u trúc m t t p ch ng trình trong ngôn ng l p trìnhấ ộ ệ ươ ữ ậ
java.
Anh(ch ) hãy nêu m c đích, ý nghĩa c a c u trúc try-catch-finallyị ụ ủ ấ
trong java và gi i thích nguyên lý ho t đ ng c a c u trúc này.ả ạ ộ ủ ấ

NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Comễ ị ế
Hãy nêu các lo i ch ng trình có th phát tri n v i ngôn ng java.ạ ươ ể ể ớ ữ
Hãy nêu các quy t c chuy n đ i ki u và ng c nh ph i s d ngắ ể ổ ể ữ ả ả ử ụ
quy t c chuy n đ i ki u trong ngôn ng java .ắ ể ổ ể ữ
Hãy nêu khái ni m n p ch ng trong java. L y ví d minh h aệ ạ ồ ấ ụ ọ
Hãy nêu khái ni m vi t đè trong java. L y ví d minh h aệ ế ấ ụ ọ
Hãy phân bi t hai khái ni m n p ch ng và vi t đè trong java. L yệ ệ ạ ồ ế ấ
ví d minh h aụ ọ
Trình bày c ch truy n tham s trong ngôn ng java.ơ ế ề ố ữ
Đ nh nghĩa ngo i l trong l p trình và c ch x lý ngo i l trongị ạ ệ ậ ơ ế ử ạ ệ
ngôn ng java.ữ
Hãy nêu cách s d ng hai m nh đ throw và throws trong ngônử ụ ệ ể
ng java.ữ
Hãy xác đ nh ph m vi truy nh p c a các thành ph n private, publicị ạ ậ ủ ầ
trong l p các đ i t ng đ i t ng. ớ ố ượ ố ượ
Hãy xác đ nh ph m vi truy nh p c a các thành ph n m c đ nh,ị ạ ậ ủ ầ ặ ị
public trong l p các đ i t ng đ i t ng. ớ ố ượ ố ượ
Hãy xác đ nh ph m vi truy nh p c a các thành ph n protected,ị ạ ậ ủ ầ
public trong l p các đ i t ng đ i t ng. ớ ố ượ ố ượ
Hãy nêu ý nghĩa c a vi c quy đ nh ph m vi truy nh p c a các thànhủ ệ ị ạ ậ ủ
ph n c a l p trong java. ầ ủ ớ
Hãy nêu cách s d ng t khóa this và super trong java.ử ụ ừ
Nêu ý nghĩa c a t khóa final đ c s d ng đ khai báo v i cácủ ừ ượ ử ụ ể ớ
thành ph n d li u và ph ng th c(hàm) trong đ nh nghĩa l p.ầ ữ ệ ươ ứ ị ớ
Nêu khái ni m giao di n (interface) trong java. ệ ệ
Phân bi t khái ni m giao di n (interface) và khái ni m l p trìuệ ệ ệ ệ ớ
t ng (abstract class) trong java. ượ
Nêu cách khai báo gói, cách s d ng gói trong java. Cho ví d minhử ụ ụ
h a.ọ
Ý nghĩa c a toán t kh i t o là gì? Có nh ng lo i toán t kh i t oủ ử ở ạ ữ ạ ử ở ạ
nào? L y ví d minh h a.ấ ụ ọ
Hãy nêu cú pháp đ nh nghĩa hàm(ph ng th c) và các ph ng phápị ươ ứ ươ
th c hi n các l i g i hàm trong java. ự ệ ờ ọ
●
Câu 2: d ng cho đo n mã hãy s a các l i ho c cho bi t k t qu in raạ ạ ử ỗ ặ ế ế ả
màn hình
Câu 1 Cho đo n ch ng trình sau? Hãy s a các l i (n u có) đ ch ngạ ươ ử ỗ ế ể ươ
trình ch y đ c. Khi ch y ch ng trình cho ra k t qu nh th nào?ạ ượ ạ ươ ế ả ư ế
T i sao?ạ
class Rock {
Rock() { System.out.println("Creating Rock"); }
}
public class Simple {
public static Main(String[] args) {

NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Comễ ị ế
for( i = 0; i < 10; i+2)
{ if (i % 2 != 0) continue;
new rock(); }
}
}
Câu 2: Cho đo n ch ng trình sau? Hãy s a các l i (n u có) đ ch ngạ ươ ử ỗ ế ể ươ
trình ch y đ c. Khi ch y ch ng trình cho ra k t qu nh th nào?ạ ượ ạ ươ ế ả ư ế
T i sao?ạ
Static class Tree { int height;
Tree() { System.out.println ("Planting a seedling");
height = 0; }
Tree(int i) { System.out.println("create tree with height = ” +i+ );
height = i; }
void info() { System.out.println("Tree is " + height + " feet tall"); }
void info(String s) { System.out.println (s + "Tree is " + height + " feet
tall"); }
}
public class Overloading {
public void main(String[] args) {
for(i = 0; i < 5; i++) { if ( i>2) break;
Tree t = new Tree(i);
t.info();
t.info("overloaded method"); }
new Tree(); }
}
Câu 3 D ng bài t p qu n lý (chú ý m i quan h gi a các đ i t ng làạ ậ ả ố ệ ữ ố ượ
m i quan h k th a và k t t p(l p này là d li u tp c a l p khác) )ố ệ ế ừ ế ậ ớ ữ ệ ủ ớ
Không gi i h n n i dung đ c ng bài t p(các đ c ng bài t p dùngớ ạ ộ ề ươ ậ ề ươ ậ
đ tham kh o)ể ả
Câu 1
Hãy xây d ng l p DaGiac g m có:ự ớ ồ
Các thu c tính + S c nh c a đa giácộ ố ạ ủ
+ M ng các s th c ch a kích th c các c nh c a đa giácả ố ự ứ ướ ạ ủ
Các ph ng th c: ươ ứ
+ Nh p vào giá tr cho các c nh c a đa giácậ ị ạ ủ
+ Tính chu vi c a đa giácủ
+ Hi n th giá tr các c nh c a đa giác.ể ị ị ạ ủ
Xây d ng m t ng d ng Java đ nh p vào m t dãy g m m tam giác và:ự ộ ứ ụ ể ậ ộ ồ
+ Hi n th thông tin v tam giác có chu vi l n nh t.ể ị ề ớ ấ
+ Hi n th thông tin v tam giác có di n tích nh nh t.ể ị ề ệ ỏ ấ
Câu 2

NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Comễ ị ế
M i m t đi m trong m t ph ng đ c xác đinh duy nh t b i hai giá trỗ ộ ể ặ ẳ ượ ấ ở ị
nguyên là hoành đ và tung đ .ộ ộ
Hãy xây d ng l p Diem đ bi u di n các đ i t ng đi m trong m tự ớ ể ể ễ ố ượ ể ặ
ph ng và xây d ng ph ng th c sau:ẳ ự ươ ứ
+ Toán t t o l pử ạ ậ
+ Ph ng th c in m t đ i t ng Diemươ ứ ộ ố ượ
+ Tính kho ng cách gi a hai đi m ( )ả ữ ể
M i tam giác trong m t ph ng đ c xác đ nh b i 3 đi m. Hãy xây d ngỗ ặ ẳ ượ ị ở ể ự
l p TamGiac v i 3 thu c tính riêng là 3 đ i t ng thu c l p Diem và cácớ ớ ộ ố ượ ộ ớ
ph ng th c:ươ ứ
+ Xây d ng các toán t t o l p: TamGiac(); ự ử ạ ậ
TamGiac(Diem d1, Diem d2, Diem d3);
+ Tính di n tích tam giácệ
+ Tính chu vi c a tam giácủ
Câu 3
Hãy xây d ng l p Diem đ bi u di n các đ i t ng đi m trong m tự ớ ể ể ễ ố ượ ể ặ
ph ng và xây d ng ph ng th c sau:ẳ ự ươ ứ
+ Toán t t o l pử ạ ậ
+ Ph ng th c in m t đ i t ng thu c l p Diemươ ứ ộ ố ượ ộ ớ
+ Tính kho ng cách gi a hai đi m ()ả ữ ể
Xây d ng l p HinhTron ch a các đ i t ng là các hình tròn v i 2 thu cự ớ ứ ố ượ ớ ộ
tính là 1 đ i t ng thu c l p Diem đ xác đ nh tâm c a hình tròn, m tố ượ ộ ớ ể ị ủ ộ
giá tr nguyên đ xác đ nh bán kinh c a hình tròn. Cài đ t các ph ngị ể ị ủ ặ ươ
th c:ứ
+ Các toán t t o l p: HinhTron(), HinhTron(Diem d, int bk)ử ạ ậ
+ Tính chu vi, di n tich hình tròn (; )ệ
Câu 4
a.Thông tin v m i cá nhân bao g m : H tên, gi i tính, tu i. Hãy xâyề ỗ ồ ọ ớ ổ
d ng l p Nguoi ch a các đ i t ng là các cá nhân và xây d ng cácự ớ ứ ố ượ ự
ph ng th c:ươ ứ
+ Các toán t t o l p: Nguoi(); Nguoi(String, boolean, int);ử ạ ậ
+ Ph ng th c nhap() đ nh p thông tin cho m t cá nhânươ ứ ể ậ ộ
+ Ph ng th c in() đ in thông tin v m t cá nhânươ ứ ể ề ộ
Hãy xây d ng l p CoQuan ch a thông tin v các cá nhân trong m t đ nự ớ ứ ề ộ ơ
v đ c d n xu t (k th a) t l p Nguoi và có thêm các thành ph n:ị ượ ẫ ấ ế ừ ừ ớ ầ
+ Thu c tính ki u String xác đ nh đ n v công tác (b môn, phòng);ộ ể ị ơ ị ộ
thu c tính ki u double xác đ nh h s l ng.ộ ể ị ệ ố ươ
+ Vi t đè ph ng th c in() l p Nguoi đ in thông tin v m t cá nhânế ươ ứ ở ớ ể ề ộ
trong CoQuan
+ Cài đ t ph ng th c tinhLuong(CoQuan) đ tính l ng cho m i cáặ ươ ứ ể ươ ỗ
nhân trong c quan theo công th c:ơ ứ L ng =h s l ng x 450000ươ ệ ố ươ
Câu 5
Thông tin v m i xe máy g m: S máy, s khung, giá thành, hãng s nề ỗ ồ ố ố ả
xu t.ấ

