• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaのクラス内の文法について)

Javaのクラス内の文法について

このQ&Aのポイント
  • Javaのクラス内で使用される特殊な文法について解説します。
  • 「static{ UserBean u1 = new ~ 」という記述について、意味や使い方を詳しく説明します。
  • この書き方がどのような文法であり、なぜコンパイルが通るのかを明確に解説します。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1
utawoutau
質問者

お礼

すみません、さきほど自分でもwikipediaを見ていて 静的初期化子とインスタンス初期化子というのを 見つけて自己解決してしまいました。 わざわざ見つけてきていただいてありがとうございました。 お手数おかけしてすみませんでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コレクションクラスについて

    ●下記のコードについて質問があります import java.util.*; public class Test { public static void main(String args[]) { ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); list.add(new ObjectOne()); list.add(new ObjectOne()); list.add(new ObjectOne()); Collections.sort(list); } } class ObjectOne { private int x = 0; private int y = 0; } このソースをコンパイルすると、 シンボル: メソッド sort(java.util.ArrayList<ObjectOne>) 場所 : java.util.Collections の クラス Collections.sort(list); と、エラーが表示されてしまいます。 java.util.*をインポートしているので、上記のようなエラーはでないと 思うのですが、うまくいかないです。おそらく、ObjectOneクラスで 何か処理漏れが起きているのかもしれませんが、エラーとなる原因を 特定することができません。 エラーとなる原因と解消する手立てを教えていただければと思っております。 宜しくお願い致します。 「追記」 ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); の<ObjectOne>を消せばエラーはなくなりますが、 <ObjectOne>を消さない方針で考えがあればと思っております。

  • Javaのプログラムについて教えてください!

    Genericsを使ってエラーの出ないようにするにはどうすればいいですか? import java.util.*; public class Sample{ public static void main(String[] args){ ArrayList ary = new ArrayList(); ary.add("Mac"); ary.add("Wiindows"); ary.add("Linux"); for(Object str:ary){ System.out.println((String)str); } } }

    • ベストアンサー
    • Java
  • お世話になります。下記のjavaの総称を詳しい方がいらっしゃいましたら

    お世話になります。下記のjavaの総称を詳しい方がいらっしゃいましたら、ぜひ教えてお願いします。 Class A{ private HashMap dataTable; private void a1(){ ArrayList its = (ArrayList)(dataTable.get(key1)); if (its==null){ its = new ArrayList(); its.add(new B) } ... dataTable.put(key1,its); } private void b1(){ ArrayList its = (ArrayList)(dataTable.get(key3)); if (its==null){ its = new ArrayList(); its.add(new C()) } ... dataTable.put(key4,its); } } B、Cはぞれぞれ違うObjectです。 JDK5をアップすると、HashMap,ArrayListの無検査呼びコンパイラ警告があって、総称に改修したいですが、改修するやり方をご存知の方がいらっしゃいましたら、ぜひ教えてくださいまして、非常に助かります。

  • またjavaでの問題です

    今回ArrayListを使って"Bye"、"Hi",""Hello"を表示するプログラムです ソース乗せたほうが早いので載せます import java.util.*;; class Act{ private String phrase="A"; public Act(String p){ phrase=p; } } class Stage2 { public static void main(String[] args){ ArrayList<String> strList =//String用のArrayListを作成 new ArrayList<String>(); strList.add("Bye");//Bye,Hi,HelloをArrayListに追加 strList.add("Hi");//Bye,Hi,Helloを出力したいです strList.add("Hello"); for(int i=0; i<strList.size(); i++){ strList.get(i); } } エラーはなく、例外処理もありません ただ出力しないだけです System.out.println(phrase)を書かない理由は呼び出しかたがわからないので書きませんでした どうかアドバイスなどの御助力お願いします

    • ベストアンサー
    • Java
  • ArrayListクラスを利用するプログラムについて質問があるのですが。

    「Genericsを用いたArrayListを使用しループ処理にはiteratorを使用する。 という指定の下、 ArrayListのインスタンスを生成し次の5つの文字列を追加した後、 for文を使ってリストの中身を全て順番に画面表示したいんです。 "AA" "BB" "CC" "DD" "EE" --------------------------- import java.util.ArrayList; class TestA{ public static void main(String args[]) { ArrayList<String> array = new ArrayList<String>(); array.add("AA"); array.add("BB"); array.add("CC"); array.add("DD"); array.add("EE"); } } --------------------------- ここからよく解らないので教えていただけませんでしょうか?

    • ベストアンサー
    • Java
  • java勉強中です。

    java勉強中です。 今、ArrayListでつまづいています。 質問の仕方が下手で、内容が分かり難いかもしれませんが、 どなたか、どうかよろしくお願いいたします。 ArrayList<String> listA = new ArrayList<String>(); ArrayList<String[]> listB = new ArrayList<String[]>(); があります。 1回目に listA = [aaa, bbb, ccc, ddd] 2回目に listA = [eee, fff, ggg, hhh] と、listA.add("~")で4つ追加して、 4つたまったら、それを1つの塊として 今度はlistBにaddしていきたいのですが、 listB.add(listA);としてしまっているので 下記のようにエラーになってしまいます。 ArrayList<String[]> add(String[])は引数(ArrayList<String>)に適用できません。 listBに[aaa, bbb, ccc, ddd],[eee, fff, ggg, hhh] としたいのですが、どのようにしたら良いでしょうか?

    • ベストアンサー
    • Java
  • java applet

    import java. applet.*; import java. awt. Button; import java. awt. Label; import java. awt. TextField; import java. awt. event.*; public class 1120 extends Applet implements ActionListener { private TextField box1 = new TextField(5); private TextField box2 = new TextField(5); private TextField box3 = new TextField(5); private Label moji1 = new Label(" と "); private Label moji2 = new Label(" の和は "); private Label moji3 = new Label(" である。 "); private Button ok = new Button("OK"); public void init() { resize( 320 , 240); add( box1 ); add( moji1 ); add( box2 ); add( moji2 ); add( box3 ); add( moji3 ); add( ok ); ok.addActionListener( this ); } public void actionPerformed( ActionEvent e ) { int i=0 ,j =0 , k; String t1 = box1.getText(); String t2 = box2.getText(); i = Integer.parseInt( t1 ); j = Integer.parseInt( t2 ); k = i + j; String s = Integer.toString( k ); box3. setText( s ); } } //上記のプログラムを書いたのですが、なぜかエラーが出てしまいます。勿論、自分でも見直しましたが、その理由がわかりませんでした。知識のある方、ご回答の方お願いします。

  • C++ シングルトン マルチスレッド

    標準C++でシングルトンを実装したいのですが。 class Singleton{ public: static Singleton* getInstance(){ if (_instance == NULL){ //スレッドAがこの時点で、スレッドBがNULLチェックすると破綻する _instance = new Singleton(); } return _instance; } private: Singleton(); static Singleton* _instance; }; マルチスレッドになると上記のパターンで破綻するといわれどうしたものかと考えております。 static Singleton* _instance = new Singleton(); と出来れば解決なのですが 「static const int データメンバ以外をクラス内で初期化することはできません」 とのことでそれもできず。 どのようにすればよいでしょうか。

  • java のstruts1.3です。

    java のstruts1.3です。 Cannot invoke newStrutsKadai.EntryWorkForm.setArrayDB on bean class 'class newStrutsKadai.EntryWorkForm' - argument type mismatch - had objects of type "java.lang.String" but expected signature "java.util.ArrayList" と言うエラーがでます。 以下javaのソースです。DB接続は完璧に出来ています。 public final class EntryWorkForm extends ActionForm { private static final long serialVersionUID = 1L; private String cmbOsName; ArrayList<EntryWorkForm> array = new ArrayList<EntryWorkForm>( ) ; public void reset( ActionMapping map, HttpServletRequest req ) { //必要な部分だけ抜粋 //検索された行数文ループ while( rs.next( ) ) {//本マスタテーブル 検索された行数文ループ String stOSName = rs.getString("OSName"); //上記の2行を丁寧に記述した EntryWorkForm obj = new EntryWorkForm( stOSName.toString() ); array.add( obj ) ; } //END while( rs.next( ) ) this.setArrayDB( array );//ここでエラーエラーエラー } /****************************************************************************************/ private ArrayList<EntryWorkForm> arrayDB = new ArrayList<EntryWorkForm>( ); //セット オブジェクト配列 public void setArrayDB( ArrayList<EntryWorkForm> arrayDB ){ this.arrayDB = arrayDB; } //ゲット オブジェクト配列 public ArrayList<EntryWorkForm> getArrayDB ( ) { return this.arrayDB ; } /****************************************************************************************/ public String getCmbOSName ( ) { return this.cmbOsName; } public void setCmbOSName ( String cmbOsName ) { this.cmbOsName = cmbOsName; } public EntryWorkForm( ) { } //コンストラクタ 引数あり EntryWorkForm ( String cmbOSName ) { System.out.println("テスト用で作成したコンストラクタが呼ばれています。 ReturnScreenFormDB.java"); cmbOsName = cmbOSName; } 質問です--- JSPでセレクトボックスに動的に出力しています。 JSP画面でボタンを押して画面遷移をすると上記のエラーが出ます。

    • ベストアンサー
    • Java
  • Java NullPointerException

    簡単な配列を作っているのですが、現在のコードについてどうしても以下のエラーが解決できません。 java.lang.NullPointerException 今作っているコードは ArrayList<Integer> intList = new intList<Integer>(); intList.add(1); といういうようなシンプルなものです。 ArrayList<Integer>ではなく、int[]にしてもダメでした。(正直この2つの違いもよく分かっていません。) 解決方法(+よろしければ違いの説明も)を教えて頂ければと思います。 宜しくお願い致します。

    • ベストアンサー
    • Java