[英]Is instance variable shared between super class and sub class in java
class A{
String foo="bar";
void m(){
}
}
class B extends A{
//String foo="xyz";
void m(){
foo="xyz";
System.out.println(foo);
System.out.println(super.foo);
}
}
public class Dell{
public static void main(String[] args)
{
A a=new B();
System.out.println(a.foo);
a.m();
}
}
這是在超類(A)和子類(B)之間共享的 foo 變量。當我在 m() 方法中調用 super.foo 時,為什么它不調用 A 類 foo 變量值,即 bar。似乎 foo 在兩者之間共享類。但是這怎么可能? 當我們用 foo 變量聲明 A 時,它有自己的副本,現在當我們覆蓋它並更改子類中的 foo 值時,它如何反映回 Super 類? 請很好地解釋我們的概念
這基本上是您需要了解的關於超類和子類中的實例變量范圍的內容。
http://www.xyzws.com/javafaq/what-is-variable-hiding-and-shadowing/15
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.