Khởi Tạo đối Tượng Trong Java - Programming - Dạy Nhau Học Trang chủ » Khởi Tạo đối Tượng Trong Java » Khởi Tạo đối Tượng Trong Java - Programming - Dạy Nhau Học Có thể bạn quan tâm Khởi Tạo File Java Khởi Tạo Gmail Khởi Tạo Interface Khởi Tạo Lcd Khởi Tạo List Trong Java Khởi tạo đối tượng trong java programming java AT_Phong (At Phong) July 13, 2018, 4:30pm #1 Mọi người cho em hỏi cách hiểu của mọi người về khởi tạo đối tượng trong java với ạ. Theo em thì cách khởi tạo là: kiểu dữ liệu tên đối tượng = new Constructor: kiểu dữ liệu Có thể là tên lớp hoặc tên interface mà lớp chứa constructor implement, kiểu dữ liệu tham chiếu đối tượng( vd: String, Array, etc) constructor chỉ có thể là tên lớp, nó là phương thức đặc biệt của lớp chứa nó. VD: NewClass extend MainClass MainClass d = new NewClass(id) d.hamMainClass(); // Hàm này thuộc MainClass thì vẫn dùng bình thường d.getId(); // Hàm này thuộc NewClass thì không dùng được. Chương trình báo lỗi Vậy cái phần NewClass(id) có tác dụng gì ạ. Đối tượng d lại không dùng được các phương thức trong lớp NewClass anon12276517 (anon12276517) July 13, 2018, 4:56pm #2 Bạn có thể show hết MainClass và NewClass lên được không ? kienonline19 (Nguyen Kien) July 13, 2018, 5:47pm #3 Mình nghĩ cú pháp chỉ là thứ hiện thực hóa suy nghĩ của mình thôi vd: con thừa hưởng những đặc điểm hành vi từ bố thì những hành vi con có chắc gì bố đã có đấy => mơ hồ => sai lầm AT_Phong (At Phong) July 14, 2018, 1:20am #4 public class NewClass extends MainClass{ private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public static void main(String[] args){ MainClass d = new NewClass(); d.traVe(); } } class MainClass { public void traVe(){ System.out.println("not me"); } } Phong_Ky_Vo (Tao Không Ngu.) July 14, 2018, 2:08am #5 Hi At Phong. Bạn cần học lại lý thuyết về OOP. MainClass d = new NewClass(id) khi đó biến d có kiểu là MainClass và nó chỉ có các phương thức của MainClass. NewClass(id) có tác dụng gì : Tính đa hình. Khi bạn gọi các phương thức bị ghi đè bở lớp con thì nó sẽ thực thi các phương thức của lớp con. P/S https://kipalog.com/posts/4-tinh-chat-dac-thu-cua-lap-trinh-huong-doi-tuong 3 Likes AT_Phong (At Phong) July 14, 2018, 3:06am #6 Thanksssssssssss bro noz1995 (Trần Hoàn) July 14, 2018, 3:30am #7 class A { } class B extends class A { public void b() { } } Nếu bạn khai báo như sau A x = new B(); Chương trình sẽ hiểu x có kiểu dữ liệu A, vì vậy không có phương thức b(). Để sử dụng phương thức đó, bạn phải cast (B)x.b(); Tuy nhiên nếu như có class C cũng kế thừa A và C thì có phương thức c(). Bạn có thể cast như sau: (C)x.c(); Compiler sẽ không báo lỗi, chương trình vẫn được biên dịch bình thường, nhưng khi thực thi đến dòng đó thì chương trình sẽ bị crash, debugger sẽ quăng exception vì x có kiểu dữ liệu B nên không thể cast thành C. Thế nên trước khi cast phải biết chắc chắn mình đang làm việc với kiểu dữ liệu nào, hoặc tống hết vào try-catch cho chắc ăn. 3 Likes DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Khởi Tạo đối Tượng Trong Java Đối Tượng - Object Trong Java Các Cách Khởi Tạo đối Tượng Trong Java (Java Constructor) Lớp Và đối Tượng Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts Đối Tượng (object) Và Cách Sử Dụng đối Tượng Trong Java - Góc Học IT Java: Bộ Khởi Tạo Cho đối Tượng | V1Study Đối Tượng Và Lớp (class) Trong Java - Hoclaptrinh Phương Thức Khởi Tạo Trong Java | Codelearn Ví Dụ Về Tạo Mảng Đối Tượng Trong Java - Array Of Objects In Java Java Bài 20: Phương Thức Khởi Tạo - Constructor Lập Trình Hướng đối Tượng Trong Java Đối Tượng Và Lớp Trong Java Khởi Tạo Object Java Theo Một Cách "khác Thường" - Viblo Có Báo Nhiều Cách Khởi Tạo đối Tượng Trong Java - Hỏi Đáp Bài 5: Lập Trình Hướng đối Tượng Trong Java