Output của chương trình sau là?
class box
{
int width;
int height;
int length;
}
class mainclass
{
public static void main(String args[])
{
box obj1 = new box();
box obj2 = new box();
obj1.height = 1;
obj1.length = 2;
obj1.width = 1;
obj2 = obj1;
System.out.println(obj2.height);
}
}
Chọn một:
Đáp án đúng: A
Câu hỏi liên quan
Trong Android, để thực hiện các tác vụ lặp đi lặp lại (repeated tasks), chúng ta nên sử dụng ScheduledExecutorService
. Dưới đây là lý do tại sao các phương án khác không phù hợp:
TimerTask
:TimerTask
là một abstract class có thể được kế thừa để thực hiện một tác vụ, thường được sử dụng vớiTimer
. Tuy nhiên,Timer
có một số hạn chế, ví dụ như chỉ có một thread duy nhất thực thi các tác vụ, nếu một tác vụ chậm có thể ảnh hưởng đến các tác vụ khác.LoopTask
: Không có class hoặc concept nào tên làLoopTask
trong Android SDK.ScheduledExecutorService
: Đây là một interface cho phép scheduling các command để chạy sau một khoảng thời gian nhất định, hoặc thực hiện định kỳ. Nó cung cấp nhiều tính năng hơn so vớiTimer
, bao gồm khả năng sử dụng thread pool để thực thi các tác vụ song song, và xử lý các exception một cách tốt hơn.CountDownTimer
:CountDownTimer
thường được sử dụng để thực hiện một tác vụ sau một khoảng thời gian nhất định, và có thể gọi callback sau mỗi tick. Nó không phù hợp để thực hiện các tác vụ lặp đi lặp lại.
Do đó, ScheduledExecutorService
là lựa chọn tốt nhất để thực hiện các tác vụ lặp đi lặp lại trong Android.
* startActivity(): Phương thức này được sử dụng để khởi chạy một Activity mới. Khi sử dụng `startActivity()`, bạn có thể kèm theo một Intent để truyền dữ liệu đến Activity đích. Intent này có thể chứa dữ liệu dưới dạng các extra (key-value pairs) mà Activity đích có thể truy xuất. Đây là cách phổ biến và được khuyến nghị để truyền dữ liệu giữa các Activity.
* sendIntent(): Không có phương thức `sendIntent()` trong Android SDK. Có thể đây là một cách diễn đạt không chính xác.
* sendBroadcast(): Phương thức này được sử dụng để gửi một Broadcast Intent đến tất cả các receiver đã đăng ký để lắng nghe Intent đó. Broadcast Intent thường được sử dụng để thông báo các sự kiện hệ thống hoặc ứng dụng (ví dụ: thay đổi kết nối mạng, pin yếu) và không phải là cách chính để truyền dữ liệu trực tiếp giữa các Activity.
* setContent(): Phương thức này thường được sử dụng trong ngữ cảnh của các ContentProvider để cung cấp dữ liệu cho các ứng dụng khác, hoặc để thiết lập nội dung hiển thị cho một View (ví dụ: trong một Activity hoặc Fragment). Nó không phải là cơ chế để truyền dữ liệu giữa các Activity.
Do đó, đáp án chính xác nhất là B. startActivity(), vì nó cho phép truyền dữ liệu thông qua Intent đi kèm khi khởi chạy một Activity mới.
Trong ngữ cảnh của việc tạo ra một đơn vị mã có thể mở rộng hoặc thu gọn trong method signature (chữ ký phương thức), chúng ta cần xem xét cách các ký hiệu khác nhau thường được sử dụng trong lập trình, đặc biệt là trong việc định nghĩa các tham số hoặc khối mã.
- [] (Dấu ngoặc vuông): Thường được sử dụng để khai báo mảng hoặc truy cập các phần tử trong mảng. Không phù hợp để tạo một đơn vị mã có thể mở rộng hoặc thu gọn trong method signature.
- {} (Dấu ngoặc nhọn): Được sử dụng để định nghĩa một khối mã (block of code), chẳng hạn như thân của một phương thức, một vòng lặp, hoặc một cấu trúc điều khiển. Trong một số ngôn ngữ, nó cũng có thể được sử dụng để khởi tạo các đối tượng hoặc định nghĩa các literal cho đối tượng, nhưng không phải là mục đích chính trong method signature.
- () (Dấu ngoặc đơn): Được sử dụng để bao quanh danh sách tham số trong định nghĩa phương thức (method definition) hoặc khi gọi một phương thức. Nó cho phép chúng ta truyền các giá trị vào phương thức và có thể mở rộng hoặc thu gọn số lượng tham số tùy thuộc vào thiết kế của phương thức (ví dụ: sử dụng tham số tùy chọn hoặc varargs). Đây là ký hiệu phù hợp nhất để tạo một đơn vị mã có thể mở rộng hoặc thu gọn.
- || (Dấu gạch đứng đôi): Thường được sử dụng như là toán tử logic OR. Không liên quan đến việc định nghĩa method signature hoặc tạo ra các đơn vị mã có thể mở rộng/thu gọn.
Do đó, dấu ngoặc đơn ()
là lựa chọn phù hợp nhất để tạo ra một đơn vị mã có thể mở rộng hoặc thu gọn trong method signature, vì nó cho phép định nghĩa các tham số mà có thể tùy chỉnh số lượng hoặc loại.
A. AsyncTask:
AsyncTask cho phép thực hiện các tác vụ nền một cách dễ dàng và trực tiếp từ luồng giao diện người dùng. Nó cung cấp các phương thức như doInBackground()
(thực hiện tác vụ nền), onPreExecute()
(chuẩn bị trước khi thực hiện), onPostExecute()
(xử lý kết quả sau khi thực hiện) và onProgressUpdate()
(cập nhật tiến trình), giúp dễ dàng quản lý và tương tác với giao diện người dùng trong quá trình thực hiện tác vụ nền.
B. IntentService:
IntentService cũng được sử dụng cho các tác vụ nền, nhưng nó tự động xử lý các yêu cầu tuần tự trên một luồng làm việc duy nhất. IntentService thích hợp cho các tác vụ cần thực hiện lần lượt và không cần tương tác trực tiếp với giao diện người dùng.
C. Handler:
Handler cho phép gửi và xử lý các Message và Runnable liên quan đến một luồng (thread). Nó thường được sử dụng để giao tiếp giữa các luồng, nhưng việc quản lý luồng và tác vụ nền phức tạp hơn so với AsyncTask hoặc IntentService.
D. BroadcastReceiver:
BroadcastReceiver dùng để nhận các broadcast từ hệ thống hoặc ứng dụng khác và phản hồi lại. Nó không được thiết kế để thực hiện các tác vụ nền dài hạn.
Trong trường hợp này, AsyncTask là lựa chọn phù hợp nhất vì nó được thiết kế đặc biệt để thực hiện các tác vụ nền ngắn hạn và tương tác với giao diện người dùng.

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.