- ベストアンサー
privateって・・・どういう事・・・
privateを違うクラスから使いたい変数を呼び出すためのものみたいに認識しているのですが、 public void ・・・・・・ private ・・・・・・ みたいな文章だと式の始まりが不正ですというエラーが出てしまいます privateを使いたい時はどうしたいいんでしょうか・・・
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
public void itemStateChanged(ItemEvent e){ private ButtonGroup group; String newElement = this.group.getButton(); } って事ですよね? 関数内では「public」「private」などの宣言が出来なかった気がします この場合、 public void itemStateChanged(ItemEvent e){ ButtonGroup group; String newElement = this.group.getButton(); } となりますが、 ButtonGroup group; String newElement = this.group.getButton(); groupがコンストラクト(「new ButtonGroup()」)されていないので、コンパイルエラーです this指定されているので、 他でgroup変数を宣言されていれば、そちらが使われますが・・・ 通常 外部から参照させたい場合は public関数(!)を用意し 内部処理だけならば private関数となります 変数のpublicは使用せずに「get/set」で対応します private String lDummy = "ダミー変数"; //クラス変数「lDummy」を返却する例 public String getDummyString(){ return lDummy; } //クラス変数とメソッド変数?を返却する例 public String getDummyString(){ //関数内でのみ有効なメソッド変数?(正式な言い方は知りません) String lDummy = null; if (上記で宣言した「lDummy」を返却する場合){ return lDummy; } else if (クラス内で宣言している「lDummy」を返却する場合){ return this.lDummy; } } 長文となりましたが、こんな感じです。 不明点は個別に質問を出した方が、回答者も質問者もわかりやすいと思いますので、 これ以上の不明点は再度、質問された方がよいかと思います
その他の回答 (4)
- potch
- ベストアンサー率34% (24/70)
ANO.1回答は少し的外れでしたね。 privateはメソッドもしくは変数を立てる際、ほかのクラスやオブジェクトから操作されないようにするための、指定子です。 ですから、privateをやたら使うのではなく、変数を宣言するときと、メソッドやクラスの名前を宣言するときに使います。 例: private int hoge = 1; -------------------- private void hoge(){ ... } また、変数を参照するときやメソッドを使うときにprivateを付ける必要はありません。 例: private hoge("test"); <- × hoge("test"); <- ○
- pchan0022000
- ベストアンサー率42% (112/261)
public void ・・・・・・ private ・・・・・・ をそのまま貼り付けてみては? public宣言の最後が;で終わってないとか{}があってないとか、そんな感じの気がします。
お礼
解答ありがとうございます public void itemStateChanged(ItemEvent e){ private ButtonGroup group; String newElement = this.group.getButton(); っていう風になってるプログラムなんですが {}も合ってると思います エラーでは 式の開始が不正です。 private ButtonGroup group; という文章が出てきます
- don_go
- ベストアンサー率31% (336/1059)
英語の意味のままです private ━━ a. 私の, 個人(的)の; 私用[有]の; 内密の, 非公開の, 親展の; 民間の, 私立[私営]の; 官職を持たない, 平民の; 人目につかない, 隠遁した public ━━ a. 公共の, 公衆の, 公の; 公務の; 公衆用の, 公立の, 公開の; 公然の; 知れ渡った. 外部から参照する場合には、public を使用します。
お礼
解答ありがとうございます public の↓にprivateの文を書くとエラーが出るんですが
- potch
- ベストアンサー率34% (24/70)
privateのついたメソッド&変数は、同じクラス内でしか呼び出したり参照することができません。
お礼
解答ありがとうざいます privateの役割が違うクラスから変数を呼び出す時に必要なものだと思ってるんですが
お礼
再び解答ありがとうございます ああ、なるほど 前のクラスから変数を呼び出すために使うものが欲しかったんですが そういう効果では無かったんですね・・・ やってる問題でpublic内だけどをいじって指定されたとおりに動かさないといけないんですが 変数が明らかに足りない・・・ 呼び出してしまおうと思ってprivateを使おうとしたけど呼び出せない という状況になってました ありがとうございました