public変数にすると、インスペクタの値が優先されるのか分からんけど

public int a; // インスペクタで0が設定されてる
func(){a++;}

と関数内でaの値をインクリしてるのに、関数抜けたら0に戻される。これ仕様ですか?
関数内でログ出力見たらちゃんと1になってます。