[問題] 一個簡單的變數繼承問題
大家好,不好意思,我想請問一下一個簡單的變數繼承問題
我想要做一個測試確認
就是父類別原本有的類別變數,假如是var1
子類別繼承後,子類別的物件obj內,應該有var1、super.var1兩塊獨立的變數吧?
但是為什麼我做了以下測試
我發現我改了obj內的super.var1,obj內的var也會一起改變?
難道是var1、super.var1其實是同一個變數嗎?
萬分感謝!
source code:
import java.lang.*;
public class class_130412
{
public static void main(String args[])
{
CB obj = new CB();
obj.show();
}
}
class CA
{
public int var1;
public CA()
{
System.out.println("父類別建構子建構中");
var1=10;
}
}
class CB extends CA // 子類別CB繼承自類別CA
{
public CB()
{
System.out.println("子類別建構子建構中");
var1=20;
super.var1=30;
}
public void show()
{
System.out.println("var1=" + var1);
System.out.println("super.var1=" + super.var1);
}
}
結果:
父類別建構子建構中
子類別建構子建構中
var1=30
super.var1=30
問題1:
為什麼super.var1=30
會一起動到var1的數值?
問題2:
如果我把super.var1=30註解掉
結果是
父類別建構子建構中
子類別建構子建構中
var1=20
super.var1=20
super.var1不應該是要維持同樣是10嗎?
謝謝指點!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.113.229
※ 編輯: pluseus 來自: 140.109.113.229 (04/12 16:58)
推
04/12 16:57, , 1F
04/12 16:57, 1F
→
04/12 17:00, , 2F
04/12 17:00, 2F
→
04/12 17:01, , 3F
04/12 17:01, 3F
→
04/12 17:05, , 4F
04/12 17:05, 4F
→
04/12 17:06, , 5F
04/12 17:06, 5F
→
04/12 17:07, , 6F
04/12 17:07, 6F
→
04/12 17:19, , 7F
04/12 17:19, 7F