• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaの初期化メソッドについて)

Javaの初期化メソッドについて

このQ&Aのポイント
  • Javaの初期化メソッドについて解説します。実行結果が思った通りに表示されない場合、正しい使い方を確認しましょう。
  • 初期化メソッドはアプレット用のものであり、アプレットを使用しない場合は意味がない可能性があります。
  • グローバル変数は自動的に初期化されることを覚えておきましょう。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.4

>メンバ変数はこの中でどれに当てはまるのでしょうか? フィールドです。 >これはクラスの領域を超えて別のクラスからでもアクセスできるということでしょうか? そうです。 ただ、「別のクラスからでもアクセスできる」ことを表すのはpublicです。 それに、別のクラスという表現だと正確ではないですね。 privateではない変数であれば、別のクラスからでもアクセスできる可能性はありますので。 publicにすることで、「あらゆるクラスから」アクセスできるようになります。 「java アクセスレベル」や「java アクセス修飾子」などで検索してみてください。 staticは変数のスコープとはまた別の意味です。 staticな変数にすることで、インスタンス毎ではなくクラス毎に保持することになります。 1冊の書籍なり1つの入門サイトなりをひととおり読んで サンプルコードを動かすことから始めてみてはいかがでしょうか。

rajison
質問者

お礼

一応、自分なりに独学で学んでるんですが・・・・まだまだですね・・(^^;A 今度書店でも行ってJava入門関係の本を読んでもう一度復習してみます。 ご回答、ありがとうございました。

その他の回答 (3)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.3

>それとも初期化メソッドはアプレット用であってアプレットで使わないと意味がないというものなのでしょうか? アプレット用というか、アプレット実行時にはinitメソッドが実行されるという仕様ですが、 通常のJavaアプリケーションはそうではないという事です。 なので先の回答者さんがおっしゃっているように、自分でinitメソッドを実行しなければいけません。 ちなみに、記載のコードのaはグローバル変数とは言わないかなと思います。 http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000440.html こちらも読まれてみてはいかかでしょうか。

rajison
質問者

補足

ご回答ありがとうございます。 少し気になったのですが、アドレス先で、 >>Javaの変数は、メソッド内の「ローカル変数」か、クラスの内の「フィールド」しか存在しないためである。 メンバ変数はこの中でどれに当てはまるのでしょうか? フィールド変数と同じですか? あと、 >>publicフィールドでかつstaticフィールドとすることで、あらゆる箇所からアクセスできる変数となる。 これはクラスの領域を超えて別のクラスからでもアクセスできるということでしょうか? アドバイスの方、どうか宜しくお願い致します。

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.2

initメソッドを実装したけど、実行してないですね。 オブジェクトの生成時に自動的に実行したいなら、コンストラクタで定義してください。 http://msugai.fc2web.com/java/constructor.html 今の状態は、initというメソッドを定義しただけ。

rajison
質問者

補足

ご回答ありがとうございます。 一応、このようなコードを書いたのですが。 import java.lang.*; public class Test { static int a; public void init() { a = 10; } public static void main(String[] args) { Test test = new init(); System.out.println(a); } } initメソッドの実行はこのような感じでよろしいでしょうか? 実行してみたところ、「シンボルがみつからない」と出たのですが・・・。 どうすればよろしいでしょうか? アドバイスの方、どうかよろしくお願い致します。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

initメソッドを実行してないから

rajison
質問者

お礼

ご回答ありがとうございます。 ググッてみます。