欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java父類和子類的同名變量

王梓涵1年前7瀏覽0評論

在Java中,父類和子類可能會存在同名的變量,這種情況下需要注意變量的作用域和訪問方式。

首先,我們需要了解一下兩種變量的定義方式:

// 父類變量
public class Parent {
public int num = 10;
}
// 子類變量
public class Child extends Parent {
public int num = 20;
}

在上面的代碼中,父類定義了一個變量num,并且子類也定義了一個同名變量num。當子類訪問這個變量時,會優先訪問子類的變量。

但是,有時候我們需要訪問父類的同名變量怎么辦?這時可以使用super關鍵字。

// 子類訪問父類同名變量
public class Child extends Parent {
public int num = 20;
public void printNum() {
System.out.println(num); // 輸出20
System.out.println(super.num); // 輸出10
}
}

在上面的代碼中,我們定義了一個printNum方法,在方法中使用super關鍵字訪問了父類的同名變量。

需要注意的是,同名變量的作用域只限于當前類。也就是說,如果我們在子類中定義了一個局部變量和父類同名,那么局部變量會覆蓋父類和子類的同名變量。

// 子類局部變量覆蓋同名變量
public class Child extends Parent {
public int num = 20;
public void printNum() {
int num = 30;
System.out.println(num); // 輸出30
System.out.println(super.num); // 輸出10
}
}

在上面的代碼中,我們在printNum方法中定義了一個局部變量num,并且和同名變量重名。此時,局部變量會覆蓋同名變量。

綜上所述,同名變量需要注意作用域和訪問方式,同時可以使用super關鍵字訪問父類的同名變量。