プロが教えるわが家の防犯対策術!

privateを違うクラスから使いたい変数を呼び出すためのものみたいに認識しているのですが、

public void ・・・・・・
private ・・・・・・
 みたいな文章だと式の始まりが不正ですというエラーが出てしまいます
privateを使いたい時はどうしたいいんでしょうか・・・

A 回答 (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;
}
}

長文となりましたが、こんな感じです。

不明点は個別に質問を出した方が、回答者も質問者もわかりやすいと思いますので、
これ以上の不明点は再度、質問された方がよいかと思います
    • good
    • 0

ANO.1回答は少し的外れでしたね。



privateはメソッドもしくは変数を立てる際、ほかのクラスやオブジェクトから操作されないようにするための、指定子です。

ですから、privateをやたら使うのではなく、変数を宣言するときと、メソッドやクラスの名前を宣言するときに使います。

例:
private int hoge = 1;
--------------------
private void hoge(){
...
}

また、変数を参照するときやメソッドを使うときにprivateを付ける必要はありません。

例:
private hoge("test"); <- ×
hoge("test"); <- ○

参考URL:http://wisdom.sakura.ne.jp/programming/java/java …
    • good
    • 0
この回答へのお礼

再び解答ありがとうございます

ああ、なるほど
前のクラスから変数を呼び出すために使うものが欲しかったんですが
そういう効果では無かったんですね・・・

やってる問題でpublic内だけどをいじって指定されたとおりに動かさないといけないんですが
変数が明らかに足りない・・・
呼び出してしまおうと思ってprivateを使おうとしたけど呼び出せない
という状況になってました
ありがとうございました

お礼日時:2006/07/19 16:15

public void ・・・・・・


private ・・・・・・

をそのまま貼り付けてみては?
public宣言の最後が;で終わってないとか{}があってないとか、そんな感じの気がします。
    • good
    • 0
この回答へのお礼

解答ありがとうございます

public void itemStateChanged(ItemEvent e){
private ButtonGroup group;
String newElement = this.group.getButton();
っていう風になってるプログラムなんですが
{}も合ってると思います

エラーでは
式の開始が不正です。
private ButtonGroup group;
という文章が出てきます

お礼日時:2006/07/19 15:55

英語の意味のままです



private
━━ a. 私の, 個人(的)の; 私用[有]の; 内密の, 非公開の, 親展の; 民間の, 私立[私営]の; 官職を持たない, 平民の; 人目につかない, 隠遁した

public
━━ a. 公共の, 公衆の, 公の; 公務の; 公衆用の, 公立の, 公開の; 公然の; 知れ渡った.

外部から参照する場合には、public を使用します。
    • good
    • 0
この回答へのお礼

解答ありがとうございます
public の↓にprivateの文を書くとエラーが出るんですが

お礼日時:2006/07/19 15:19

privateのついたメソッド&変数は、同じクラス内でしか呼び出したり参照することができません。

    • good
    • 0
この回答へのお礼

解答ありがとうざいます
privateの役割が違うクラスから変数を呼び出す時に必要なものだと思ってるんですが

お礼日時:2006/07/19 15:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!