Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

Java初学者に贈る「知っといた方がマシなこと」

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

ファイル拡張子はjava

ファイルの拡張子は.javaで保存する。

ファイル名はクラス名と一致

クラス名が SomeClassなら、ファイル名はSomeClass.javaになる。

もしこれが不一致だと、コンパイル時にクラス名のclassファイルが生成され、.javaファイルと.classファイルのbasenameが不一致になる。当然動かない。

クラス名がオブジェクトの型名になる

クラス名は型名でもある。だからクラス名、型名、ファイル名は同じになる。

クラス名はコンストラクタと一致

クラス名に()をつけたらコンストラクタになると思えばよい。上記の例でいえばSomeClass()がコンストラクタ。

new演算子がコンストラクタを呼び出しているのだと考えるとわかりやすい。

SomeClass hoge = new SomeClass();

クラスの中には、メンバ変数か、メソッドか、どちらかしかない

地の部分に何か書いてはいけない。

メンバ変数は宣言のみ。

文字列はダブルクォートでくくる

"文字列"+"文字列"も文字列になる。

クラス名は大文字で始める

クラス名にスペースは含めない。

条件判定には == を使う

ただし文字列はequals()を使う。文字列はString型のオブジェクトだから、==では比較できない。

コマンドライン引数はString型になる

コマンドラインから実行する際に引き渡す引数は、String型としてメソッドに渡される。

メンバ変数、メソッドはすべてのインスタンスにコピーされる

クラスが持つメンバ変数、メソッドはすべてのインスタンスにコピーされる。

メンバ変数の中に格納される値はコピーされない。入れ物だけ。