Ý nào sai khi nói đến khả năng truy cập thành phần tĩnh?
Select one:
A. Hàm thành phần tĩnh có thể được gọi mà không cần qua đối tượng
B. Các hàm thành phần đều có thể truy cập vào thành phần tĩnh
C. Hàm thành phần tĩnh chỉ có thể truy cập đến thành phần dữ liệu tĩnh
D. Đối tượng cần phải được khởi tạo trước khi gọi hàm thành phần tĩnh
Question 2
Complete
Marked out of 1.00
Flag question
Question text
Trong ngơn ngữ lập trình Java, để tạo ra liên kết động cần những yếu tố nào:
Select one or more:
A. Phân cấp thừa kế
B. Có định nghĩa chồng hàm trong một lớp.
C. Sử dụng biến đối tượng của lớp cha để tham chiếu đến các đối tượng thuộc lớp con
D. Hàm thành phần phải được định nghĩa lại ở lớp con
Question 3
Complete
Marked out of 1.00
Flag question
Question text
Trong Java, Cú pháp để khai báo một lớp là:
Select one:
A. class: <tên lớp> {
<các thuộc tính>
<các phương thức>
};
B. class <tên lớp> {
<các phương thức>
<các thuộc tính>
}
C. class <tên lớp> {
<các thuộc tính>
<các phương thức>
};
Question 4
Complete
Marked out of 1.50
Flag question
Question text
Cho 3 file java trong cùng một project như sau:
Class1.java :
package pack1;
public class Class1{}
Class2.java:
package pack2;
public class Class2{}
Main.java:
package pack1;
public class Main{}
Câu hỏi: nếu muốn sử dụng Class2 và Class1 trong lớp Main thì cần khai báo import như thế
nào?
Select one:
A. import pack.*
B. import pack1,pack2;
C. import pack2;
D. import pack2.Class2;
Question 5
Complete
Marked out of 1.50
Flag question
Question text
Trong ngông ngữ Java, phát biểu nào sau đây là đúng về phạm vi truy cập protected:
Select one:
A. Các thành phần sau từ khóa này có phạm vi truy cập chỉ bên trong gói và ngồi gói
thơng qua các lớp con.
B. Các thành phần sau từ khóa này có phạm vi truy cập bất kỳ.
C. Các thành phần sau từ khóa này được bảo vệ và khơng thể truy cập từ bên ngồi, chỉ có
thể truy cập bởi các hàm thành phần của lớp.
D. Các thành phần sau từ khóa này được bảo vệ và khơng thể truy cập từ bên ngoài, muốn
truy cập từ bên ngoài phải thông qua các lớp con.
Question 6
Complete
Marked out of 1.00
Flag question
Question text
Cú pháp nào sau đây khai báo hàm trừu tượng:
Select one:
A. abstract <kiểu> tên_hàm(danh sách tham số);
B. void tên_hàm;
C. <kiểu> tên_hàm(danh sách tham số)=0;
D. abstract <kiểu> tên_hàm(danh sách tham số){};
Question 7
Complete
Marked out of 1.50
Flag question
Question text
Cho đoạn chương trình sau:
Scanner scanner = new Scanner(System.in);
System.out.println("First Name:");
String firstname =
scanner.nextLine();
System.out.println("Last Name:");
String lastname =
scanner.nextLine();
System.out.println("Birth year:");
int year =
scanner.nextInt();
System.out.println("Average score:");
double score =
scanner.nextFloat();
Hãy chọn các câu lệnh đọc giá trị phù hợp nhất với biến dữ liệu:
Question 8
Complete
Marked out of 1.50
Flag question
Question text
Cho các lớp sau:
class Error1 extends Exception{}
class Error2 extends Error1{}
class Error3 extends Error2{}
class MyClass {
public void makeError1() throws Error1{
throw new Error1();
}
public void makeError2() throws Error2{
throw new Error2();
}
public void makeError3() throws Error2{
throw new Error3();
}
}
Trong cấu trúc try…catch bẫy lỗi khi sử dụng MyClass, hãy thiết lập đúng các mệnh đề
catch để có thể bắt hết được các lỗi trong phần try:
try{
MyClass myclass=new MyClass();
myclass.makeError1();
myclass.makeError2();
myclass.makeError3();
}
catch(
Error1 ex
){
ex.printStackTrace();
}
catch(
Error2 ex
){
ex.printStackTrace();
}
catch(
Error3 ex
){
ex.printStackTrace();
}
Question 9
Not answered
Marked out of 1.50
Flag question
Question text
Cho đoạn chương trình sau:
abstract class Employee{
String name;
int age;
public Employee(String name, int age) {
this.name = name;
this.age = age;
}
abstract public void doWork();
}
class Developer extends Employee{
public Developer(String name, int age) {
super(name, age);
}
@Override
public void doWork() {
System.out.println("I am "+name+", "+age+" years old and I am a coder");
}
}
Trong lớp demo có hàm main như sau:
public class demo {
public static void main(String[] args) {
//TODO
dep.doWork();
}
}
Hãy viết vào vị trí //TODO duy nhất một lệnh sao cho thể hiện được tính đa hình và in kết
quả ra như sau:
I am An, 20 years old and I am a coder
Answer:
Employee emp=new Developer ("An",20);
Question 10
Complete
Marked out of 1.00
Flag question
Question text
Hình mẫu thiết kế Factory có mục đích chính là gì:
Select one:
A.
Tách phần trừu tượng và thực thi thành 2 nhánh thừa kế khác nhau
B. Làm cầu nối cho việc sử dụng chức năng của lớp này trong giao diện của lớp khác
C. Cung cấp phương thức khởi tạo đối tượng cho các lớp con
D. Cung cấp đối tượng duy nhất của lớp
Question 11
Complete
Marked out of 1.00
Flag question
Question text
Trong cú pháp lệnh ném ngoại lệ throw đối_tượng_ngoại_lệ;thì kiểu của đối tượng ngoại lệ
có thể là gì?
Select one:
A. Tùy ý
B. Số thực
C. Dẫn xuất của lớp Throwable
D. Số nguyên
Question 12
Complete
Marked out of 1.50
Flag question
Question text
Cho các lớp như sau:
class Item{}
class LineItem extends Item{
public void print(){}
}
class Box{
Item item;
public Box(Item item) {
this.item = item;
}
public Item getItem(){
return item;
}
}
Hãy sắp xếp các câu lệnh trong hàm main() đẻ chương trình có thể chạy được
public class demo {
public static void main(String[] args) {
Item item=new LineItem();
LineItem line_item=(LineItem)item_inner;
Item item_inner=box.getItem();
Box box=new Box(item);
line_item.print();
}
}
Question 13
Complete
Marked out of 1.50
Flag question
Question text
Cho lớp Generic như sau:
class Bag<T>{
ArrayList<T> items;
public Bag(ArrayList<T> items) {
this.items = items;
}
public int numberOfItems(){
return items.size();
}
public void show(){
for(T item :items){
System.out.println(item.toString());
}
}
}
Trong hàm main của lớp demo có sử dụng lớp Bag:
public class demo {
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList();
list.add("An");
list.add("Binh");
Bag b=new Bag("An", "Binh");
b.show();
}
}
Hãy hồn thiện đoạn code trên để nó in ra chính xác kết quả như sau:
An
Binh
Question 14
Complete
Marked out of 1.50
Flag question
Question text
Trong ngông ngữ Java, đáp nào nào đúng dùng để khai bao hàm thiết lập của lớp Student
Select one or more:
A. Student(int a, int b)
{
//todo
}
B. public Student()
{
//todo
}
C. public void Student()
{
//todo
}
D. private Student(int a, int b){
//todo
}
Question 15
Complete
Marked out of 1.50
Flag question
Question text
Cho 2 lớp:
class Exception01 extends Exception {
}
class Class01 {
public void Funcion01(int a) throws TimeoutException {
if(a<10) throw new TimeoutException();
}
public void Funcion02(int b) throws Exception01 {
if (b>10){
throw new Exception01 ();
}
}
}
Giá trị của biến b bằng bao nhiêu khi thực hiện xong đoạn chương trình sau:
int b=0;
try {
int a=15;
Class01 c1 = new Class01();
c1.Funcion01(a);
c1.Funcion02(a);
} catch (TimeoutException tx) {
b=100;
} catch (Exception01 ex)
{
b=10;
}
Answer:
10
Question 16
Complete
Marked out of 1.00
Flag question
Question text
Các mệnh đề catch trong cấu trúc try…catch được đem khớp với ngoại lệ theo thứ tự nào?
Select one:
A. Thứ tự ngẫu nhiên
B. Từ trên xuống dưới
C. Mệnh đề catch có tham số khớp với ngoại lệ nhất
D. Từ dưới lên trên
Question 17
Complete
Marked out of 1.50
Flag question
Question text
Cho 2 lớp giao diện là BirdAction chứa hàm trừu tượng fly() và AnimalAction chứa hàm trừu
tượng run(), định nghĩa lớp Unicorn thực thi cả 2 giao diện trên. Hãy hoàn thiện đoạn
chương trình dưới đây để đáp ứng yêu cầu đề bài:
interface
BirdAction{
void fly(){}
}
interface
AnimalAction{
void run();
}
class Unicorn
implements BirdAction,AnimalAction
@Override
public void fly() {
System.out.println("I can fly");
}
{
@Override
public void run() {
System.out.println("I can run");
}
}
Question 18
Complete
Marked out of 1.50
Flag question
Question text
Cho đoạn chương trình sau:
String str1 = "Ha Noi";
String str2 = "Dai hoc Xay Dung";
String str3 = 2022+"-"+str1+"-"+str2;
System.out.print(str3);
Hãy viết chính xác kết quả in ra output của đoạn code trên
Answer:
2020-Ha Noi-Dai hoc Xay Dung
Question 19
Complete
Marked out of 1.00
Flag question
Question text
Kỹ thuật nào dưới đây là một bộ phận của Lập trình hướng đối tượng?
Select one:
a. Đa luồng
b. Che giấu thông tin
c. Đa nhiệm
d. Phân tán
Question 20
Complete
Marked out of 2.00
Flag question
Question text
Đoạn chương trình sau thể hiện hình mẫu thiết kế nào:
public class Vidu {
public static void main(String[] args) {
Shape redCircle = new Circle(100,100, 10, new RedCircle());
redCircle.draw();
}
}
interface DrawAPI {
public void drawCircle(int radius, int x, int y);
}
class RedCircle implements DrawAPI {
public void drawCircle(int radius, int x, int y) {
System.out.println("radius: " + radius + ", x: " + x + ", " + y + "]");
}
}
abstract class Shape {
protected DrawAPI drawAPI;
protected Shape(DrawAPI drawAPI){
this.drawAPI = drawAPI;
}
public abstract void draw();
}
class Circle extends Shape {
private int x, y, radius;
public Circle(int x, int y, int radius, DrawAPI drawAPI) {
super(drawAPI);
this.x = x;
this.y = y;
this.radius = radius;
}
public void draw() {
drawAPI.drawCircle(radius,x,y);
}
}
Select one:
A. Adapter pattern
B. Bridge pattern
C. Factory pattern
D. Singleton Pattern
Question 21
Complete
Marked out of 1.00
Flag question
Question text
Sự khác nhau giữa liên kết tích tụ và liên kết kết cấu giữa các lớp trong sơ đồ lớp là gì?
Select one:
A. Liên kết tích tụ biểu diễn quan hệ thành phần mạnh hơn kết cấu
B.
Liên kết tích tụ là một dạng đặc biệt của liên kết kết hợp, liên kết kết cấu là dạng đặc biệt của
thừa kế.
C. Liên kết tích tụ biểu diễn quan hệ một-phần-của còn liên kết kết cấu biểu diễn quan hệ
cha-con
D. Trong liên kết kết cấu, nếu xóa đối tượng tổng thể thì đối tượng thành phần cũng bị xóa
theo . Trong liên kết tích tụ nếu xóa đối tượng tổng thể thì đối tượng thành phần vẫn có thể
được dùng tiếp
Question 22
Complete
Marked out of 1.00
Flag question
Question text
Đáp án nào không phải là kiểu dữ liệu cơ bản của ngơn ngữ lập trình Java
Select one or more:
A. double
B. float
C. String
D. Interger
Question 23
Complete
Marked out of 1.50
Flag question
Question text
Cho đoạn chương trình sau:
int a[][]={{1,2,3},{5,7},{2,6,8}};
for(
int j=0; j
for(
int i=0; i
){
){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
Và output của đoạn chương trình trên là:
123
57
268
Question 24
Complete
Marked out of 1.00
Flag question
Question text
Cho 2 lớp:
public class Person {
private long id;
private String name;
public void display(){
System.out.println(id+","+name);
}
}
public class Employee extends Person{
private float salary;
public void display(){
super.display();
System.out.println("has salary:"+this.salary+"$");
}
Những tính chất nào của phương pháp lập trình hướng đối tượng được thể hiện trong đoạn
chương trình sau:
Person person= new Employee(1,"An",1000);
person.display();
Select one or more:
A. Tính thừa kế
B. Tính trừu tượng
C. Tính bao đóng
D. Tính Đa hình
Question 25
Complete
Marked out of 1.00
Flag question
Question text
Trong ngôn ngữ Java, Cú pháp để định nghĩa Generic Classes là:
Select one:
A. class name<T1, T2,…,Tn> {…}
B. class name(T1, T2,…,Tn) {…}
C. class name extends T1, T2,…,Tn {…}
D. class name T1, T2,…,Tn {…}
Question 26
Complete
Marked out of 1.00
Flag question
Question text
Câu lệnh khai báo nào không được chấp nhận trong ngôn ngữ lập trình java
Select one:
A. int a1, a2, a3;
B. float _a1;
C. float 1a;
D. int $a1, $a2;
Question 27
Complete
Marked out of 1.00
Flag question
Question text
Cho định nghĩa 2 lớp:
public class Person {
public Person() {
//todo
}
}
và
public class Employee extends Person{
//todo
}
Đáp án nào dùng để gọi đến hàm tạo của lớp Person trong lớp Employee
Select one:
A. super();
B. Person();
C. Tất cả đều sai.
D. this();
Question 28
Complete
Marked out of 1.00
Flag question
Question text
Một lớp có thể định nghĩa tối đa bao nhiêu hàm thiết lập?
Select one:
A. 2
B. 0
C. Không giới hạn
D. 1
Question 29
Complete
Marked out of 1.00
Flag question
Question text
Trong hình mẫu Singleton, đối tượng của lớp được đảm bảo là duy nhất nhờ đặc điểm của
yếu tố gì?
Select one:
A. Thành phần tĩnh
B. Tính đa hình
C. Phạm vi truy cập
D. Tính thừa kế
Question 30
Complete
Marked out of 1.00
Flag question
Question text
Trong Java, khả năng Chồng hàm thành phần là gì?
Select one:
A. Cho phép nhiều hàm trong các lớp khác nhau có thể trùng tên nhau.
B. Cho phép nhiều hàm trong một lớp có thể trùng tên nhau nhưng phải khác danh sách
tham số (số lượng, kiểu, thứ tự tham số).
C. Tất cả đều sai.
D. Cho phép nhiều hàm trong một lớp có thể trùng tên nhau và phải giống nhau về danh
sách tham số (số lượng, kiểu, thứ tự tham số).
Question 31
Complete
Marked out of 1.00
Flag question
Question text
Phát biểu nào sai về lớp giao diện (interface)
Select one:
A. Một lớp có thể thừa kế từ nhiều lớp giao diện.
B. Sử dụng từ khóa extends khi muốn thừa kế từ lớp giao diện
C. Không thể khai báo đối tượng thuộc lớp giao diện.
D. Chỉ chứa các hàm không có phần định nghĩa.
E. Tất cả các thành phần đều có phạm vi mặc định là public
Question 32
Complete
Marked out of 1.00