- vừa được xem lúc

Java SE 8 Oracle Certified Associate 1Z0-808 - #12

0 0 32

Người đăng: Tommy Le

Theo Viblo Asia

1. Câu hỏi

2. Phân tích

Yêu cầu bài toán là tìm ra lỗi cú pháp trong hàm print(). Mặc dù các IDE có thể báo lỗi cho chúng ta trong quá trình lập trình, nhưng nếu chúng ta hiểu rõ bản chất thì vẫn tốt hơn
Nhìn vào code trong hàm, t có thể thấy phần này kiểm tra về access modifier của Java.

Mình hay dựa vào bảng này để so sánh:

Để dễ nhớ hơn thì mình tự tạo ra cách nhớ riêng mình: Mức độ access tăng dần từ private -> default (no modifier) -> protected -> public

  • private chỉ access trong class đó.
  • default có thêm access khi cùng package
  • protected có thêm access ở class con (sub-class) mặc dù có thể nằm khác package.
  • public là mọi nơi

Tiếp tục đi vào source code:
class A là public trong package com.udayan.oca, Không có lỗi khi access class A bên ngoài com.udayan.oca package.
class B nằm trong package com.udayan.oca.test, kế thừa class A. Không có lỗi trong class này

System.out.println(obj.i1);
  • Field i1public trong class A, so code System.out.println(obj.i1); không có lỗi.
System.out.println(obj.i2);
  • Field i2 là protected nó chỉ có thể được access thông qua instance của class B, chứ không thế access qua instance của class A. vậy obj.i2 là lỗi lúc compile.
 System.out.println(this.i2); //Line 10 System.out.println(super.i2); //Line 11
  • Vì class B kế thừa i2 từ class A, bên trong class B, chúng ta có thể truy cập this.i2 hoặc super.i2 mà không gây lỗi.

Đáp án:

3. Kết luận

Bạn có thể gõ code vào IDE để chạy lại và kiểm tra Source cho câu hỏi

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 302

- vừa được xem lúc

Học Spring Boot bắt đầu từ đâu?

1. Giới thiệu Spring Boot. 1.1.

0 0 278

- vừa được xem lúc

Cần chuẩn bị gì để bắt đầu học Java

Cần chuẩn bị những gì để bắt đầu lập trình Java. 1.1. Cài JDK hay JRE.

0 0 50

- vừa được xem lúc

Sử dụng ModelMapper trong Spring Boot

Bài hôm nay sẽ là cách sử dụng thư viện ModelMapper để mapping qua lại giữa các object trong Spring nhé. Trang chủ của ModelMapper đây http://modelmapper.org/, đọc rất dễ hiểu dành cho các bạn muốn tìm hiểu sâu hơn. 1.

0 0 194

- vừa được xem lúc

[Java] 1 vài tip nhỏ khi sử dụng String hoặc Collection part 1

. Hello các bạn, hôm nay mình sẽ chia sẻ về mẹo check String null hay full space một cách tiện lợi. Mình sẽ sử dụng thư viện Lớp StringUtils download file jar để import vào thư viện tại (link).

0 0 71

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 139