lO MoARcPSD| 45467232
Trang 1/7
lO MoARcPSD| 45467232
CÂU HI LP TRÌNH HƯỚNG ĐI TƯỢNG
1) Cho đon mã sau:
1. class Super {
2. public String getName () {return “Super;}
3. }
4. public class Sub extends Super {
5.
6. }
Chọn (các) phương thức dưới đây khi đt vào ng 5 trong đoạn mã trên gây ra li biên dịch?
a) public String getTen () { }
b) public void getName(String str) { }
c) public String getName() {return “Sub”; }
d) public void getName() {}
e) Không có lựa chn nào
f) Tất ccác lựa chọn a, b, c, d
2) Hãy khoanh tròn vào (các) chỉ đnh có thể sdụng đ khai báo mt trường (thuộcnh):
a. abstract c. const e. private
b. final d. public
3) Cho đon mã sau:
class BanhXe{} class DongCo{}
abstract class PhuongTien {
public abstract void di();
public abstract void dungLai();
}
class OTo extends PhuongTien {
BanhXe banhTraiTruoc = new BanhXe (),
banhPhaiTruoc = new BanhXe(); BanhXe
banhTraiSau = new BanhXe(),
banhPhaiSau = new BanhXe(); DongCo dc
= new DongCo(); public DongCo
getDongCo() {return dc;} public void
lenGa() {} public void tangToc() {}
}
class OToTai extends OTo {
private int trongLuongMax {}
}
(Các) lựa chn nào sau đây là đúng?
a) Mối quan hgiữa OToTai và PhuongTien là mi quan h kế thừa.
b) Một đi tượng OtoTai tải) kế thừa mt th hin DongCo và 4 th hiện ca BanhXe từ lớp cha
OTo.
c) Một đi tượng OToTai thlên ga và tăng tốc.
d) Mối quan h gia OToTai và DongCo là quan h kế thừa.
lO MoARcPSD|45467232
Trang 2/7
e) Tất ccác lựa chọn trên đu đúng.
4) Chọn ba loi sau đây được sử dụng đ truyn tham số theo tham chiếu:
a) Int d) float
b) mng e)
String
c)
byte
f)
Các kiểu dữ liệu nguyên thủy
5) Hãy đưa ra (các) lựa chn đúng:
a) Đóngi dữ liệu được sdụng đ giúp chương trình chy nhanh hơn.
b) Đóngi dữ liệu cho phép thay đi thiết kế bên trong ca một lp mà giao diện bên ngoài kng bị
thay đổi theo.
c) Đóngi dữ liệu bảo vệ dliu kng b thay điy tin.
d) Đóngi dữ liệu là mt dng của che giu dữ liệu.
6) (Các) k thuật nào được h trợ trong lp trình hướng đối tượng Java giúp tái sdụng mã ngun? a) Đa
kế thừa (Multiple Inheritance)
b) Kết tập (Aggregation)
c) Đơn kế thừa (Single Inheritance)
d) Chồng pơng thức (Method Overloading)
e) Đóng gói (Encapsulation) 7) Chọn hai lựa chọn đúng dưới đây:
a) S lượng lời gọi đến phương thức khởi tạo xut hiện trong thân lớp phải nh hơn hoc bằng số
lượng phương thức khởi tạo ca lớp.
b) Một phương thức khởi tạo có th gọi phương thức khi tạo khác trong cùng lớp sử dụng
this(danh_sach_tham_so);
c) Một phương thức khởi tạo có th gọi phương thức khi tạo ca lớp cha sử dng
super(danh_sach_tham_so);
d) Một phương thức khởi tạo có th gọi phương thức khi tạo ca lớp cha sử dng
this(danh_sach_tham_so); 8)
Cho đon mã sau:
public class Student {
public Student (String name, int age){} }
Chọn hai phương thức chồng (overload) cho pơng thức khi tạo
Student
?
a) Student() { }
b) protected int Student () { }
c) private Student(int age, String name){ }
d) public Object Student (String name, int age) { }
e) public void Student (String name, byte age) { } 9) Cho đon mã sau:
class A {
A () { }
}
class B extends A { }
Chọn hai lựa chọn đúng dưới đây?
a) A có 2 phương thức khi tạo, mt phương thức do JVM cung cp, một phương thức tự viết.
b) Pơng thức khởi tạo ca lớp B là public.
lO MoARcPSD|45467232
Trang 3/7
c) Pơng thức khởi tạo ca lớp B không có tham s.
d) Pơng thức khởi tạo ca lớp B chứa lời gọi đến super().
10) Cho đon mãới đây:
class A { protected int method1 (int a, int
b) { return 0 ;
}
}
y chọn ra hai phương thức đúng nằm trong một lớp kế thừa từ lớp A?
a) public int method1(int a, int b) { return 0; }
b) private int method1(int a, int b) { return 0; }
c) private int method1(int a, long b) { return 0; }
d) public short method1(int a, int b) { return 0: }
e) static protected int method1(int a, int b)
{ return 0; }
11) Trong một lớp con, pơng thức nào không th được ghi đè (override)?
a) private c) static e) constructor
b) public d) final
12) Cho đon mã sau trong tệp có tên là D.java:
package com.dan.chisholm; public
class D {
protected void m1() {
System.out.print("D.m1, ");} private
void m2() {
System.out.print("D.m2, ");} void
m3() {
System.out.print("D.m3, ");} public
void m4() {
System.out.print("D.m4, ");}
}
class E
{
public static void main(String[] args){
D d = new D();
d.m1(); // 1
d.m2(); // 2
d.m3(); // 3
d.m4(); // 4
}
}
y chọn kết qu khi dch và chy chương trình? a)
Hin th: D.m1, D.m2, D.m3, D.m4,
b) Lỗi biên dch tại 1.
c) Lỗi biên dch tại 2.
d) Lỗi biên dch tại 3.
e) Lỗi biên dch tại 4.
f) Tất ccác phương án trên đu sai.
13) Chồng phương thức giúp
a) Chương trình chạy nhanh hơn
b) Chương trình nh gọn hơn
lO MoARcPSD|45467232
Trang 4/7
c) Đơn gin hóa các đi tượng phức tạp đ ta hiu chúng hơn
d) do khác: ........................................................
..................................................................................
..................................................................................
14) Cho đon mã sau:
public static void main (String [] args) {
Integer a = new Integer (10);
Integer b = new Integer (10);
Integer c = a;
int d = 10; double e = 10.0;
}
Chọn ba lựa chọn đưa ra kết qu đúng (true)?
a) (a == c) d. (d == e)
b) (b == d) e. (a == b)
c) (b == c) f. (d == 10.0)
15) Câu nàoới đây đúng v lớp trừu tượnggiao din (abstract classes và interfaces)?
a) Giao diện có th chứa các phương thức không trừu tượng (non-abstract).
b) Mt lớp có th kế thừa từ nhiu lớp trừu tượng
c) Một lớp có th thực thi từ nhiu giao din
d) Tất cả các phương thức trong một giao din phải là trừu ợng (abstract).
16) Cho đon mã sau:
switch(x) { default:
System.out.println ("Hello");
}
Chọn hai loại dữ liu dưới đây có th sử dng đkhai báo cho biến x?
a) byte c) Long e) byte
b) float d) Short f) long
17) Hai lựa chọn nào dưới đây phát biu đúng v đóng gói dữ liu và che giu thông tin?
a) Các thành viên dữ liệu không có chỉ đnh truy cp
b) Dữ liu thành viên có th được thay đi trực tiếp
c) Ch đnh truy cập cho phương thức là protected.
d) Ch đnh truy cp cho dliu là private.
e) Các phương thức cung cp việc truy cp và chnh sửa dliu.
18) Khi tạo ra mt đi tượng là thành viên ca mt lớp con, cái s được thực hiện trước tiên?
a) Pơng thức khởi tạo ca lớp con
b) Phương thức khởi tạo của lớp cha
c) Pơng thức khởi tạo ca lớp cha và lớp con được thực hin tại cùng mt thời đim
d) Đáp án khác: ......................................................
19) ho đon mã sau trong tệp có tên là A.java:
package com.dan.chisholm; public
class A {
protected void m1() {
System.out.print("A.m1, ");} void
m2() {
lO MoARcPSD|45467232
Trang 5/7
System.out.print("A.m2, ");} public
void m3() {
System.out.print("A.m3, ");} private
void m4() {
System.out.print("A.m4, ");}
} class
Test {
public static void main(String[] args){
A a = new A();
a.m1(); // 1
a.m2(); // 2
a.m3(); // 3
a.m4(); // 4
}
}
y chọn kết qu khi dch và chy chương trình? a)
Hin th: A.m1, A.m2, A.m3, A.m4,
b) Lỗi biên dch tại 1. d) Lỗi biên dịch tại 2.
c) Lỗi biên dch tại 3. e) Lỗi biên dịch tại 4.
f) Tất c các pơng án trên đu sai.
20) (Các) kỹ thuật nào được h trợ trong lp trình ớng đi tượng Java?
a) Đa hình c) Kết tập e) Đóngi
b) Đơn kế thừa d) Đa kế thừa
21) Cho đon mã sau:
class BanhXe{} class DongCo{}
abstract class PhuongTien {
public abstract void di();
public abstract void dungLai();
}
class OTo extends PhuongTien {
BanhXe banhTraiTruoc = new BanhXe (),
banhPhaiTruoc = new BanhXe(); BanhXe
banhTraiSau = new BanhXe(),
banhPhaiSau = new BanhXe(); DongCo dc
= new DongCo(); public DongCo
getDongCo() {return dc;} public void
lenGa() {} public void tangToc() {}
}
class OToKhach extends OTo {
private int soLuongMax {}
}
(Các) lựa chn nào sau đây không đúng?
a) Một đi tượng OtoKhach khách) kế thừa mt th hin DongCo 4 th hin ca BanhXe từ
lớp cha OTo.
b) Mối quan hgiữa OtoKhach PhuongTien là mi quan h kế thừa.
c) Một đi tượng OtoKhach có th lên ga và tăng tốc.
d) Mối quan hgiữa OtoKhach DongCo là quan h kế thừa.
e) Tất ccác lựa chọn trên đu đúng.
22) y chọn ra ba câu đúng:
a) Pơng thức khởi tạo mc đnh gi phương thức khởi tạo không tham số ca lớp cha.
b) Trình biên dch ch tạo ra pơng thức khởi tạo khi không có bt cmt phương thức khởi tạo nào.
lO MoARcPSD|45467232
Trang 6/7
c) Pơng thức khởi tạo mc đnh khởi tạo các biến của phương thức.
d) Pơng thức khởi tạo mc đnh có ch đnh truy cp ging như lớp ca nó.
e) Nếu một lớp không có phương thức khởi tạo không tham s thì trình biên dịch ln tạo ra mt
phương thức khởi tạo mc đnh.
23) Cho đon mã sau:
public static void main (String [] args) {
Double x = new Double (10.0);
Double y = new Double (10.0);
Double z = x; int g = 10;
double h = 10.0;
}
Chọn ba lựa chọn đưa ra kết qu đúng (true)?
a) (y == g) c) (x == y) e)(x == z)
b) (g == h) d) (y == z) f) (g == 10.0)
24) Bạn s sử dụng chỉ đnh truy cập nào sau đây cho các phương thức mà bn không muốn bị ghi đè bởi
c lớp con?
a) protected b) subclass c) final d) public 25) Cho đoạn mã sau:
1. class BaseClass {
2. private float x = 1.0f;
3. float getVar() { return x; }
4. }
5. class SubClass extends BaseClass {
6. private float x = 2.0f;
7. // insert code here
8. }
Chọn hai ví d v vic ghi đè (override) được chèn vào ng 7?
a) public double getVar() { return x; }
b) public float getVar(float f){ return f; }
c) float getVar() { return x; }
d) public float getVar() { return x; }
private float getVar() { return x; } 26)
y đưa ra (các) lựa chọn đúng:
a) Đóngi dữ liệu bảo vệ dliu kng b thay điy tin.
b) Đóngi dữ liu cho phép thay đi thiết kế bên trong của mt lớp mà giao din bên ngoài không bị
thay đổi theo.
c) Đóngi dữ liệu là mt dng của che giu dữ liệu.
d) Đóngi dữ liệu được sdụng đ giúp chương trình gọn nhẹ t mã ngun) hơn.
e) Đóngi dữ liệu giúp dữ liu giúp chương trình chạy nhanh hơn.
27) y khoanh tròn vào (các) chỉ đnh không th sử dụng đ khai báo mt phương thức:
a) abstract c) private d) const
b) protected e) Không lựa chọn nào
28) Cho đon mã sau:
public class Animal {
public Animal (String color, double weight){} }
lO MoARcPSD|45467232
Trang 7/7
Chọn phương thức chồng (overload) cho phương thức khởi tạo Animal
?
a) public Object Animal (String color, double weight) { }
b) private double Animal () { }
c) protected Animal () { }
d) Animal (double weight, String color) { }
e) public void Animal (String color) { }
29) y chọn ra hai trường hợp mà trình biên dịch cung cấp phương thức khởi tạo mc đnh cho lớp A: a)
class A { }
b) class A { public A(int x) {} }
c) class Z { } class A extends Z {
void A() {} } d) class A { public
A() {} }
30) Chồng phương thức giúp
a) Chương trình chy nhanh hơn
b) Chương trình nhỏ gọn hơn
c) Đơn gin hóa các đối tượng phức tạp đ ta hiu chúng hơn
d) do khác: ........................................................
..................................................................................
31) Cho đon mãới đây:
1. class TestSuper {
2. TestSuper (int i) {}
3. }
4. class TestSub extends TestSuper {}
5. class TestAll {
6. public static void main (String [] args) {
7. new TestSub ();
8.}}
y chọn lựa chọn đúng?
a) Lỗi biên dch
b) Đoạn mã chy mà không có ngoi l xảy ra
c) Một ngoại lb ném ra dòng 5.
d) Mt ngoại lb ném ra dòng 2.
32) Nếu lớp cha A chứa phương thức khởi tạo có tham số, hãy chọn lựa chọn đúng dưới đây?
a) Bất kỳ phương thức khởi tạo nào ca lớp con ca A đu phải gi phương thức khởi tạo ca lớp
cha trong câu lnh đu tiên
b) Bất k phương thức khởi tạo nào ca lớp con ca A đu phải gi phương thức khởi tạo ca lớp
cha trong câu lnh cuối cùng.
c) Bất kỳ phương thức khởi tạo nào của lớp con ca A đu phi gi phương thức khởi tạo ca lớp
cha nhiu lần nếu chứa nhiều tham số.
d) Bất k phương thức khởi tạo nào ca lớp con ca A đu phải gi phương thức khởi tạo ca lớp
cha một vài lần.
33) Cho đon mã sau:
switch(x) { default:
System.out.println ("Hello");
lO MoARcPSD|45467232
Trang 8/7
}
Chọn ba loi dữ liệu dưới đây có th sdụng đ khai báo cho biến x?
a) Long c) byte e) int
b) char d) String f) double
34) Hai lựa chọn nào dưới đây phát biu đúng v đóng gói dữ liu và che giu thông tin?
a) Các thành viên dữ liệu không có chỉ đnh truy cp
b) Ch đnh truy cp cho dliu là private.
c) Dữ liu thành viên có th được thay đi trực tiếp
d) Ch đnh truy cp cho phương thức là protected.
e) Các phương thức cung cp việc truy cp và chnh sửa dliu.
35) Chọn ba loi nào sau đây được sdụng đ truyền tham s theo tham trị:
a)
int
d)
Các kiểu dữ liệu nguyên thủy
b) float e) StringBuffer
c) mng f) Double
36) Tại sao Java li có th viết mt ln chạy mi nơi”?
a) Java là ngôn ngữ lp trình có cng đng phát triển rất lớn, khp nơi trên thế giới.
b) Java hỗ trợ c kỹ thuật trong lp trình hướng đối tượng như: Đóng i, Chồng phương thức,
Kết tập, Kế thừa, Đa nh,
c) Java hỗ trợ c biên dịch ln thông dịch. Cơ chế thông dịch do JVM thực hin giúp tạo ra mã máy
của từng nn tảng khác nhau.
d) Sau khi biên dch các lớp viết bng nn ngữ Java, ta thu được byte code. c byte code này được
hiu trên mi nền tảng.

Preview text:

lO M oARcPSD| 45467232 lO M oARcPSD| 45467232
CÂU HỎI LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
1) Cho đoạn mã sau: 1. class Super {
2. public String getName () {return “Super” ;} 3. }
4. public class Sub extends Super { 5. 6. }
Chọn (các) phương thức dưới đây khi đặt vào dòng 5 trong đoạn mã trên gây ra lỗi biên dịch?
a) public String getTen () { }
b) public void getName(String str) { }
c) public String getName() {return “Sub”; } d) public void getName() {}
e) Không có lựa chọn nào
f) Tất cả các lựa chọn a, b, c, d
2) Hãy khoanh tròn vào (các) chỉ định có thể sử dụng để khai báo một trường (thuộc tính): a. abstract c. const e. private b. final d. public
3) Cho đoạn mã sau: class BanhXe{} class DongCo{} abstract class PhuongTien { public abstract void di();
public abstract void dungLai(); }
class OTo extends PhuongTien {
BanhXe banhTraiTruoc = new BanhXe (),
banhPhaiTruoc = new BanhXe(); BanhXe banhTraiSau = new BanhXe(),
banhPhaiSau = new BanhXe(); DongCo dc = new DongCo(); public DongCo
getDongCo() {return dc;} public void
lenGa() {} public void tangToc() {} } class OToTai extends OTo { private int trongLuongMax {} }
(Các) lựa chọn nào sau đây là đúng?
a) Mối quan hệ giữa OToTai và PhuongTien là mối quan hệ kế thừa.
b) Một đối tượng OtoTai (ô tô tải) kế thừa một thể hiện DongCo và 4 thể hiện của BanhXe từ lớp cha OTo.
c) Một đối tượng OToTai có thể lên ga và tăng tốc.
d) Mối quan hệ giữa OToTai và DongCo là quan hệ kế thừa. Trang 1/7 lO M oARcPSD| 45467232
e) Tất cả các lựa chọn trên đều đúng.
4) Chọn ba loại sau đây được sử dụng để truyền tham số theo tham chiếu: a) Int d) float b) mảng e) String c) byte
f) Các kiểu dữ liệu nguyên thủy
5) Hãy đưa ra (các) lựa chọn đúng:
a) Đóng gói dữ liệu được sử dụng để giúp chương trình chạy nhanh hơn.
b) Đóng gói dữ liệu cho phép thay đổi thiết kế bên trong của một lớp mà giao diện bên ngoài không bị thay đổi theo.
c) Đóng gói dữ liệu bảo vệ dữ liệu không bị thay đổi tùy tiện.
d) Đóng gói dữ liệu là một dạng của che giấu dữ liệu.
6) (Các) kỹ thuật nào được hỗ trợ trong lập trình hướng đối tượng Java giúp tái sử dụng mã nguồn? a) Đa
kế thừa (Multiple Inheritance) b) Kết tập (Aggregation)
c) Đơn kế thừa (Single Inheritance)
d) Chồng phương thức (Method Overloading)
e) Đóng gói (Encapsulation) 7) Chọn hai lựa chọn đúng dưới đây:
a) Số lượng lời gọi đến phương thức khởi tạo xuất hiện trong thân lớp phải nhỏ hơn hoặc bằng số
lượng phương thức khởi tạo của lớp.
b) Một phương thức khởi tạo có thể gọi phương thức khởi tạo khác trong cùng lớp sử dụng
“this(danh_sach_tham_so);”
c) Một phương thức khởi tạo có thể gọi phương thức khởi tạo của lớp cha sử dụng
“super(danh_sach_tham_so);”
d) Một phương thức khởi tạo có thể gọi phương thức khởi tạo của lớp cha sử dụng
“this(danh_sach_tham_so);” 8) Cho đoạn mã sau: public class Student {
public Student (String name, int age){} }
Chọn hai phương thức chồng (overload) cho phương thức khởi tạo Student? a) Student() { } b) protected int Student () { } c)
private Student(int age, String name){ } d)
public Object Student (String name, int age) { } e)
public void Student (String name, byte age) { } 9) Cho đoạn mã sau: class A { A () { } } class B extends A { }
Chọn hai lựa chọn đúng dưới đây?
a) A có 2 phương thức khởi tạo, một phương thức do JVM cung cấp, một phương thức tự viết.
b) Phương thức khởi tạo của lớp B là public. Trang 2/7 lO M oARcPSD| 45467232
c) Phương thức khởi tạo của lớp B không có tham số.
d) Phương thức khởi tạo của lớp B chứa lời gọi đến super().
10) Cho đoạn mã dưới đây:
class A { protected int method1 (int a, int b) { return 0 ; } }
Hãy chọn ra hai phương thức đúng nằm trong một lớp kế thừa từ lớp A?
a) public int method1(int a, int b) { return 0; }
b) private int method1(int a, int b) { return 0; }
c) private int method1(int a, long b) { return 0; }
d) public short method1(int a, int b) { return 0: }
e) static protected int method1(int a, int b) { return 0; }
11) Trong một lớp con, phương thức nào không thể được ghi đè (override)? a) private c) static e) constructor b) public d) final
12) Cho đoạn mã sau trong tệp có tên là D.java:
package com.dan.chisholm; public class D { protected void m1() {
System.out.print("D.m1, ");} private void m2() {
System.out.print("D.m2, ");} void m3() {
System.out.print("D.m3, ");} public void m4() { System.out.print("D.m4, ");} } class E {
public static void main(String[] args){ D d = new D(); d.m1(); // 1 d.m2(); // 2 d.m3(); // 3 d.m4(); // 4 } }
Hãy chọn kết quả khi dịch và chạy chương trình? a)
Hiển thị: D.m1, D.m2, D.m3, D.m4,
b) Lỗi biên dịch tại 1.
c) Lỗi biên dịch tại 2.
d) Lỗi biên dịch tại 3.
e) Lỗi biên dịch tại 4.
f) Tất cả các phương án trên đều sai.
13) Chồng phương thức giúp
a) Chương trình chạy nhanh hơn
b) Chương trình nhỏ gọn hơn Trang 3/7 lO M oARcPSD| 45467232
c) Đơn giản hóa các đối tượng phức tạp để ta hiểu chúng hơn
d) Lý do khác: ........................................................
..................................................................................
..................................................................................
14) Cho đoạn mã sau:
public static void main (String [] args) { Integer a = new Integer (10); Integer b = new Integer (10); Integer c = a; int d = 10; double e = 10.0; }
Chọn ba lựa chọn đưa ra kết quả đúng (true)? a) (a == c) d. (d == e) b) (b == d) e. (a == b) c) (b == c) f. (d == 10.0)
15) Câu nào dưới đây đúng về lớp trừu tượng và giao diện (abstract classes và interfaces)?
a) Giao diện có thể chứa các phương thức không trừu tượng (non-abstract).
b) Một lớp có thể kế thừa từ nhiều lớp trừu tượng
c) Một lớp có thể thực thi từ nhiều giao diện
d) Tất cả các phương thức trong một giao diện phải là trừu tượng (abstract).
16) Cho đoạn mã sau: switch(x) { default: System.out.println ("Hello"); }
Chọn hai loại dữ liệu dưới đây có thể sử dụng để khai báo cho biến x? a) byte c) Long e) byte b) float d) Short f) long
17) Hai lựa chọn nào dưới đây phát biểu đúng về đóng gói dữ liệu và che giấu thông tin?
a) Các thành viên dữ liệu không có chỉ định truy cập
b) Dữ liệu thành viên có thể được thay đổi trực tiếp
c) Chỉ định truy cập cho phương thức là protected.
d) Chỉ định truy cập cho dữ liệu là private.
e) Các phương thức cung cấp việc truy cập và chỉnh sửa dữ liệu.
18) Khi tạo ra một đối tượng là thành viên của một lớp con, cái gì sẽ được thực hiện trước tiên?
a) Phương thức khởi tạo của lớp con
b) Phương thức khởi tạo của lớp cha
c) Phương thức khởi tạo của lớp cha và lớp con được thực hiện tại cùng một thời điểm
d) Đáp án khác: .......... .. .. .. .. .. .. .. .. .. .. .. .. ... ..
19) ho đoạn mã sau trong tệp có tên là A.java:
package com.dan.chisholm; public class A { protected void m1() {
System.out.print("A.m1, ");} void m2() { Trang 4/7 lO M oARcPSD| 45467232
System.out.print("A.m2, ");} public void m3() {
System.out.print("A.m3, ");} private void m4() { System.out.print("A.m4, ");} } class Test {
public static void main(String[] args){ A a = new A(); a.m1(); // 1 a.m2(); // 2 a.m3(); // 3 a.m4(); // 4 } }
Hãy chọn kết quả khi dịch và chạy chương trình? a)
Hiển thị: A.m1, A.m2, A.m3, A.m4,
b) Lỗi biên dịch tại 1.
d) Lỗi biên dịch tại 2.
c) Lỗi biên dịch tại 3.
e) Lỗi biên dịch tại 4.
f) Tất cả các phương án trên đều sai.
20) (Các) kỹ thuật nào được hỗ trợ trong lập trình hướng đối tượng Java?
a) Đa hình c) Kết tập e) Đóng gói
b) Đơn kế thừa d) Đa kế thừa
21) Cho đoạn mã sau: class BanhXe{} class DongCo{} abstract class PhuongTien { public abstract void di();
public abstract void dungLai(); }
class OTo extends PhuongTien {
BanhXe banhTraiTruoc = new BanhXe (),
banhPhaiTruoc = new BanhXe(); BanhXe banhTraiSau = new BanhXe(),
banhPhaiSau = new BanhXe(); DongCo dc = new DongCo(); public DongCo
getDongCo() {return dc;} public void
lenGa() {} public void tangToc() {} } class OToKhach extends OTo { private int soLuongMax {} }
(Các) lựa chọn nào sau đây không đúng?
a) Một đối tượng OtoKhach (ô tô khách) kế thừa một thể hiện DongCo và 4 thể hiện của BanhXe từ lớp cha OTo.
b) Mối quan hệ giữa OtoKhach và PhuongTien là mối quan hệ kế thừa.
c) Một đối tượng OtoKhach có thể lên ga và tăng tốc.
d) Mối quan hệ giữa OtoKhach và DongCo là quan hệ kế thừa.
e) Tất cả các lựa chọn trên đều đúng.
22) Hãy chọn ra ba câu đúng:
a) Phương thức khởi tạo mặc định gọi phương thức khởi tạo không tham số của lớp cha.
b) Trình biên dịch chỉ tạo ra phương thức khởi tạo khi không có bất cứ một phương thức khởi tạo nào. Trang 5/7 lO M oARcPSD| 45467232
c) Phương thức khởi tạo mặc định khởi tạo các biến của phương thức.
d) Phương thức khởi tạo mặc định có chỉ định truy cập giống như lớp của nó.
e) Nếu một lớp không có phương thức khởi tạo không tham số thì trình biên dịch luôn tạo ra một
phương thức khởi tạo mặc định.
23) Cho đoạn mã sau:
public static void main (String [] args) { Double x = new Double (10.0); Double y = new Double (10.0); Double z = x; int g = 10; double h = 10.0; }
Chọn ba lựa chọn đưa ra kết quả đúng (true)? a) (y == g) c) (x == y) e)(x == z) b) (g == h) d) (y == z) f) (g == 10.0)
24) Bạn sẽ sử dụng chỉ định truy cập nào sau đây cho các phương thức mà bạn không muốn bị ghi đè bởi các lớp con?
a) protected b) subclass c) final d) public 25) Cho đoạn mã sau: 1. class BaseClass { 2. private float x = 1.0f;
3. float getVar() { return x; } 4. }
5. class SubClass extends BaseClass { 6. private float x = 2.0f; 7. // insert code here 8. }
Chọn hai ví dụ về việc ghi đè (override) được chèn vào dòng 7?
a) public double getVar() { return x; }
b) public float getVar(float f){ return f; }
c) float getVar() { return x; }
d) public float getVar() { return x; }
private float getVar() { return x; } 26)
Hãy đưa ra (các) lựa chọn đúng:
a) Đóng gói dữ liệu bảo vệ dữ liệu không bị thay đổi tùy tiện.
b) Đóng gói dữ liệu cho phép thay đổi thiết kế bên trong của một lớp mà giao diện bên ngoài không bị thay đổi theo.
c) Đóng gói dữ liệu là một dạng của che giấu dữ liệu.
d) Đóng gói dữ liệu được sử dụng để giúp chương trình gọn nhẹ (ít mã nguồn) hơn.
e) Đóng gói dữ liệu giúp dữ liệu giúp chương trình chạy nhanh hơn.
27) Hãy khoanh tròn vào (các) chỉ định không thể sử dụng để khai báo một phương thức: a) abstract c) private d) const b) protected e) Không lựa chọn nào
28) Cho đoạn mã sau: public class Animal {
public Animal (String color, double weight){} } Trang 6/7 lO M oARcPSD| 45467232
Chọn phương thức chồng (overload) cho phương thức khởi tạo Animal ?
a) public Object Animal (String color, double weight) { }
b) private double Animal () { } c) protected Animal () { }
d) Animal (double weight, String color) { }
e) public void Animal (String color) { }
29) Hãy chọn ra hai trường hợp mà trình biên dịch cung cấp phương thức khởi tạo mặc định cho lớp A: a) class A { }
b) class A { public A(int x) {} }
c) class Z { } class A extends Z {
void A() {} } d) class A { public A() {} }
30) Chồng phương thức giúp
a) Chương trình chạy nhanh hơn
b) Chương trình nhỏ gọn hơn
c) Đơn giản hóa các đối tượng phức tạp để ta hiểu chúng hơn
d) Lý do khác: ........................................................
..................................................................................
31) Cho đoạn mã dưới đây: 1. class TestSuper { 2. TestSuper (int i) {} 3. } 4.
class TestSub extends TestSuper {} 5. class TestAll { 6.
public static void main (String [] args) { 7. new TestSub (); 8.}}
Hãy chọn lựa chọn đúng? a) Lỗi biên dịch
b) Đoạn mã chạy mà không có ngoại lệ xảy ra
c) Một ngoại lệ bị ném ra ở dòng 5.
d) Một ngoại lệ bị ném ra ở dòng 2.
32) Nếu lớp cha A chứa phương thức khởi tạo có tham số, hãy chọn lựa chọn đúng dưới đây?
a) Bất kỳ phương thức khởi tạo nào của lớp con của A đều phải gọi phương thức khởi tạo của lớp
cha trong câu lệnh đầu tiên
b) Bất kỳ phương thức khởi tạo nào của lớp con của A đều phải gọi phương thức khởi tạo của lớp
cha trong câu lệnh cuối cùng.
c) Bất kỳ phương thức khởi tạo nào của lớp con của A đều phải gọi phương thức khởi tạo của lớp
cha nhiều lần nếu nó chứa nhiều tham số.
d) Bất kỳ phương thức khởi tạo nào của lớp con của A đều phải gọi phương thức khởi tạo của lớp cha một vài lần.
33) Cho đoạn mã sau: switch(x) { default: System.out.println ("Hello"); Trang 7/7 lO M oARcPSD| 45467232 }
Chọn ba loại dữ liệu dưới đây có thể sử dụng để khai báo cho biến x? a) Long c) byte e) int b) char d) String f) double
34) Hai lựa chọn nào dưới đây phát biểu đúng về đóng gói dữ liệu và che giấu thông tin?
a) Các thành viên dữ liệu không có chỉ định truy cập
b) Chỉ định truy cập cho dữ liệu là private.
c) Dữ liệu thành viên có thể được thay đổi trực tiếp
d) Chỉ định truy cập cho phương thức là protected.
e) Các phương thức cung cấp việc truy cập và chỉnh sửa dữ liệu.
35) Chọn ba loại nào sau đây được sử dụng để truyền tham số theo tham trị: a) int
d) Các kiểu dữ liệu nguyên thủy b) float e) StringBuffer c) mảng f) Double
36) Tại sao Java lại có thể “viết một lần chạy ở mọi nơi”?
a) Vì Java là ngôn ngữ lập trình có cộng đồng phát triển rất lớn, khắp nơi trên thế giới.
b) Vì Java hỗ trợ các kỹ thuật trong lập trình hướng đối tượng như: Đóng gói, Chồng phương thức,
Kết tập, Kế thừa, Đa hình,…
c) Java hỗ trợ cả biên dịch lẫn thông dịch. Cơ chế thông dịch do JVM thực hiện giúp tạo ra mã máy
của từng nền tảng khác nhau.
d) Sau khi biên dịch các lớp viết bằng ngôn ngữ Java, ta thu được byte code. Các byte code này được
hiểu trên mọi nền tảng. Trang 8/7