01/10/2018, 17:18
Hỏi về SharedPreferences trong android
SharedPreferences sharedPreferences = getSharedPreferences(
SHARED_PREFERENCES_NAME,
Context.MODE_PRIVATE
);
SharedPreferences.Editor editor = sharedPreferences.edit();
Ac cho e hỏi . e tra trên trang android.developer thì SharedPreferences là phương thức public interface SharedPreferences
và SharedPreferences.Editor
là public static interface SharedPreferences.Editor
thì sao lại khởi tạo được Đối tượng “biến” bằng cách này được ạ ?
Theo như trang thangcoder.com hướng dẫn ạ ?

Bài liên quan
Bạn nói là khởi tạo! Thế từ khóa
new
ở đâu?Trong phương thức
getSharedPreferences
vàedit
nó sẽ khởi tạo một lớp con của 2 lớp giao tiếp (interface) này và trả về cho bạn xử lý.2 lớp con này thường thì sẽ được giấu bên trong lớp chứa 2 phương thức đó.
Nếu bạn dùng reflection để lấy tên lớp của đối tượng trả về, bạn sẽ biết thực sự nó là gì.
dạ trang thangcode.com hướng dẫn là " khởi tạo đối tượng ( biến ) đó ạ " e đã chụp ảnh ạ . cơ mà e đnag thắc mắc là khởi tạo mà lại không có new nên đang hỏi ạ
Thật ra khởi tạo cũng không hoàn toàn sai vì khi gọi method đó thì code bên dưới sẽ tạo 1 đối tượng có kiểu là SharedPreferences hoặc lấy từ cache gửi lại cho bạn. Khởi tạo là tạo 1 object nào đó. Không nhất thiết phải dùng new gọi constructor thì mới gọi là khởi tạo
Ví dụ luôn nhé:
Kết quả:
Viết không dùng IDE nên có thể có lỗi cú pháp, ai thấy thì bỏ qua cho mình
Bằng điện thoại.
interface chỉ khai báo method signature thôi.