ここから本文です

JAVAについて教えてください。メソッドの先頭にpublicをつけるのつけないのとでは...

kit********さん

2013/10/1123:53:34

JAVAについて教えてください。メソッドの先頭にpublicをつけるのつけないのとではどう違いますか。例えば、 public void countUp(){~}とvoid countUp(){~}にはどのような違いがあるのでしょうか。

閲覧数:
1,182
回答数:
3

違反報告

ベストアンサーに選ばれた回答

net********さん

2013/10/1203:11:36

publicをつけた状態は、全てのクラスからアクセスを許可します。
つけない状態はパッケージプライベートと言い、同じパッケージからだけアクセスを許可します。


「アクセス修飾子」で検索してみてください。

アクセス修飾子public、アクセス修飾子protected、アクセス修飾子をつけない(デフォルト)、アクセス修飾子privateを比較すると、
より右の方がアクセス制限が強いです。

まず、
外部からアクセスを許可すべきメソッドはpublicとします。
他のメソッドはとりあえずprivateとします。

次に、
同一パッケージの他のクラスから使われるメソッドであればアクセス修飾子をつけないでパッケージプライベートとします。
そして、サブクラスから使われるメソッドはprotectedとします。

アクセス修飾子参考サイト
http://java-code.jp/134
http://homepage3.nifty.com/lylyshery/service/f-java/text/othr_acces...
http://www.itsenka.com/contents/development/java/specifier.html
http://manga.crocro.com/?cat=java&pg=public__private

パッケージ参考サイト
http://www.itsenka.com/contents/development/java/package.html
http://www.atmarkit.co.jp/ait/articles/0908/28/news104.html
http://www1.bbiq.jp/takeharu/java51.html
http://homepage3.nifty.com/lylyshery/service/f-java/text/0_introduc...
http://www1.bbiq.jp/takeharu/java51.html

質問した人からのコメント

2013/10/18 23:17:51

成功 ありがとうございました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

ryu********さん

編集あり2013/10/1314:18:22

皆さん既に回答されてますので

オブジェクト指向では基本的に
フィールド変数はprivateにします

何故フィールド変数を
privateにするかと言うと
意図せぬところでフィールド変数に影響を及ぼさない様に、しいては予期せぬバグを防ぐ為です

そのかわり
privateなフィールド変数にアクセスするため、

ゲッター
public int getA(){return a;}と
セッター
public void setA(int a){this.a=a;}

というアクセサメソッドを用意します


このようにアクセスを制限するために使います

public→なし→privateの順に制限が厳しくなります

xia********さん

2013/10/1200:17:19

Java はオブジェクト思考プログラミング言語です。
オブジェクト思考には隠蔽という考え方があります。
private を付けたり、何も付けなかったりはこの考え方に基づく物です。
public を付けると隠蔽されずどこからでも使えるようになってしまいます。
何も付けない場合は同じパケージ内からに制限されます。
private たど、そのクラス内に制限されます。
外から使う必要の無い物はなるべく private にし、どうしてもどこからでも
使う必要のあるものだけを public にするのがオブジェクト思考での原則です。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる