Tôi có một lớp bậc trên và tôi muốn sử dụng một biến nằm bên trong lớp con này vào lớp con của tôi. Làm thế nào điều này có thể có thể?làm thế nào để sử dụng một biến từ một superclass đến một lớp con?
Trả lời
Chỉ cần tạo trường protected
, có nghĩa là nó sẽ hiển thị cho tất cả các lớp dẫn xuất.
Nếu nó được công khai hoặc được bảo vệ, nó sẽ được hiển thị trong tất cả các phương pháp của lớp con. Bạn có thể xem nó như là một global variable
trong phân lớp.
Tôi có một lớp bậc trên và tôi muốn sử dụng biến nằm trong lớp con này vào lớp con của tôi. Làm thế nào điều này có thể có thể?
Nếu biến của bạn được khai báo là protected
hoặc public
(hoặc) biến của bạn có default
đặc quyền truy cập (trong trường hợp này bạn không chỉ định với bất kỳ từ khóa) và họ đang ở trong cùng một gói (-> Bạn có thể truy cập . nó trong lớp con trực tiếp bạn có thể sử dụng từ khóa this
nếu bạn là cụ thể
Ví dụ:..
public class A{
protected int field=1;
}
public class B extends A{
public B(){
System.out.println(this.field);
}
public static void main(String args[]){
new B();
}
}
Xin lưu ý rằng biến quan trọng nhất là không thể Nếu bạn có một wit biến h cùng một tên như trong lớp siêu sau đó bạn đang trong số may mắn để trực tiếp truy cập nó. Sau đó, bạn có thể sử dụng từ khóa super
.
public class A{
protected int field=1;
}
public class B extends A{
protected int field=3;
public B(){
System.out.println(this.field);
System.out.println(super.field);
}
public static void main(String args[]){
new B();
}
}
Có thêm một khả năng cho 'super.field':' ((A) this) .field'. –
Nếu nó được khai báo là 'được bảo vệ', nó sẽ có thể truy cập được. – fge
Đọc [this] (http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html) và [this] (http://docs.oracle.com/javase/tutorial/java/IandI /subclasses.html) từ các đường mòn Java. – Brian