質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

833閲覧

Java言語のスコープについて

atfamic

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/05/04 15:37

Java言語のスコープについての質問です。

ある変数をコンストラクタ内で宣言したとして、他のメソッドからその変数を参照することは出来ないのでしょうか??また、メソッド内で宣言した変数に関して他のメソッドから参照することは出来ないのでしょうか??またその場合の対処法をお教えください。。

例えば

Java

1public class Test{ 2public Test(){ 3 private int test1=0; 4} 5 6public int getTest1(){ 7 return this.test1;←この参照が可能か? 8} 9} 10

まだ初学者なもので基本的な質問となってしまいましたが、回答頂けると非常に助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

無理ですのでどうしても使用したいのであればメンバ変数にするしかないですね

java

1public class Test{ 2 private int test1; 3 public Test(){ 4 this.test1 = 0; 5 } 6 public int getTest1(){ 7 return this.test1; 8 } 9}

投稿2017/05/04 15:45

shiroyuki

総合スコア169

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

無理です。
コンストラクタに限らず、クラスを囲む{}以外の{}内で宣言した変数はその{}内でしか使えません。
ついでに、クラスのメンバ以外にprivateなどの修飾子をつけることはできません。
それをやるとしたら、Testクラスのメンバとしてtest1を宣言するほかありません。

java

1public class Test{ 2 //この場所でしかprivateやpublic修飾子は付けられない 3 private int test1; 4 public Test(){ 5 test1=0; 6 } 7 8 public int getTest1(){ 9 return this.test1; 10 } 11}

投稿2017/05/04 15:42

編集2017/05/04 15:45
swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

atfamic

2017/05/05 02:02

回答有難うございます! privateやpublic修飾子を付けられる範囲が限定されているとは知らなかったので、エラーの原因がわかり非常に助かりました。 更に質問なのですが、例えばクラス内でインスタンスを生成した場合、staticな文脈という感じのエラーが出てしまうことがあるのですが、これは原因がなにで、同擦れば対処できるのでしょうか??
swordone

2017/05/05 05:55

コードを見ずに回答すると的外れな推測で回答してしまいかねないので、 コードを添えて新規に質問してください。
atfamic

2017/05/08 12:11

了解しました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問