ラベル 言語 の投稿を表示しています。 すべての投稿を表示
ラベル 言語 の投稿を表示しています。 すべての投稿を表示

2010年8月9日月曜日

Javaのコンストラクタの覚え書き

クラスの連携においてコンストラクタを使用する時の注意事項

コンストラクタとは?
インスタンスを生成する際、初期化処理をするために定義する特別なメソッド

コンストラクタの特徴
  • メソッド名とクラス名が必ず同じである

  • 戻り値は指定できない

  • 引数の異なるコンストラクタを複数定義可能

  • コンストラクタ自体を省略することも可能




  • クラスのコンストラクタの有無の違い
    1)コンストラクタのないクラス
    「デフォルトコンストラクタ」があるとみなされる
    -->この場合、引数無し,処理無し

    2)コンストラクタがあるクラス
    自分が用意したコンストラクタのどれかひとつを必ず利用する必要がある
    ※デフォルトコンストラクタはない

    [code]
    public class Person {
    public int age;

    public Person() {
    age = 0;
    }
    }
    [/code]

    複数定義した場合は下記のようになる
    [code]
    public class Person {
    public int age;

    public Person() {
    age = 0;
    }

    public Person(int a) {
    age = a;
    }
    }
    [/code]

    資料:(128ページあたり)http://www.knowledge-ex.jp/opendoc/JavaProgramming.pdf

    2010年2月7日日曜日

    Wordle

    タグクラウドならぬワードクラウドを自動作成してくれるサイト。[Wordle]

    Blogなど表示されている記事を拾ってワードで作成してくれる。

    色合いやフォントのデザインバランスが好きです。

    Wordle: tagcloud

    2009年2月23日月曜日

    マルチスレッド03

    カウンターにコーヒーが並んでいるか確認するところ

    class ShopMaster extends Thread{
    Counter counter;
    ShopMaster(Counter theCounter){
    this.counter = theCounter;
    }

    マスターがコーヒーを作るところが処理される

    public void run(){
    while(true){
    try{
    counter.putCoffee();
    //コーヒーをぼちぼち作る
    Thread.sleep((int)(3000 * Math.random()));
    }catch(InterruptedException e){}
    }
    }
    }

    作られたコーヒーが誰によって作られたか表示される

    class CoffeeDrinker extends Thread {
    Counter counter;
    String name;
    CoffeeDrinker(Counter theCounter.String theName){
    this.counter = theCounter;
    this.name = theName;
    }

    ここから作られたコーヒーを飲むところが始まる

    public void run(){
    while(true){
    try{
    counter.getCoffee(this.name);
    //コーヒーをボチボチ飲む
    Thread.sleep((int)(10000 * Math.random()));
    }catch(InterruptedException e){}
    }
    }
    }