Diễn đàn Tuổi trẻ Việt Nam | 2TVN Forum :: Khu vực tổng hợp :: Diễn đàn rao vặt :: Quảng cáo, giới thiệu dịch vụ
thamkk0212
Thành viên nhút nhátViệc trả lại covariant có lẽ rằng kiểu trả lại có lúc sửa đổi ở lớp con của java căn bản. Bạn có thể hiểu là 1 phương pháp có xác xuất trả lại kiểu hẹp hơn khi phương pháp đó có thể override ở lớp con.Trước Java5 , nó là không để ghi đè vô luận phương pháp nào bằng cách thay đổi cách trả lại. Nhưng hiện tại , từ Java5 , nó là có xác xuất để ghi đè phương thức bằng cách sửa đổi kiểu trả lại khi lớp con ghi đè vô luận phương thức nào mà có kiểu trả lại là không phải kiểu gốc. Các chị theo dõi ví dụ minh họa lap trinh java co ban giản đơn sau:
class A
A get( )return this;
class B1 extends A
B1 get( )return this;
void message( )System.out.println( "Chao mung den voi kieu tra ve covariant" );
public static void main( String args[] )
new B1( ).get( ).message( );
Xem thêm tài liệu >>> giới thiệu về java
Như các anh chị thấy trong nếu trên , kiểu trả lại của phương thức get( ) của lớp A là A , tuy vậy kiểu trả về của phương thức get( ) của lớp B là B. Cả 2 phương pháp có kiểu trả lại khác nhau và nó là ghi đè phương pháp. Đây còn được biết đến như là kiểu trả về covariant.
class A
A get( )return this;
class B1 extends A
B1 get( )return this;
void message( )System.out.println( "Chao mung den voi kieu tra ve covariant" );
public static void main( String args[] )
new B1( ).get( ).message( );
Xem thêm tài liệu >>> giới thiệu về java
Như các anh chị thấy trong nếu trên , kiểu trả lại của phương thức get( ) của lớp A là A , tuy vậy kiểu trả về của phương thức get( ) của lớp B là B. Cả 2 phương pháp có kiểu trả lại khác nhau và nó là ghi đè phương pháp. Đây còn được biết đến như là kiểu trả về covariant.
Fanpage
|
|