Because We Love Happy Coding

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

Java

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

ファイル拡張子はjava ファイルの拡張子は.javaで保存する。 ファイル名はクラス名と一致 クラス名が SomeClassなら、ファイル名はSomeClass.javaになる。 もしこれが不一致だと、コンパイル時にクラス名のclassファイルが生成され、.javaファイルと.classフ…

Java初学者が陥りがちなEclipseの罠

初学者は現場(および経験者)ではまず遭遇しない種類のミスをするので、「すわ何事か」と焦らされることが多い。 ここではそんなミスを、備忘録含めて記載しておきたい。 Eclipseエディタのエラー表記が消えない セーブしていない 基本。Eclipseのエラー表…

Javaのパッケージをimoprtする際、ワイルドカードを使うかどうかで挙動が異なる謎

講師の仕事でパッケージを作ったら何かの罠を踏み抜いたらしいので、とりあえず現象だけ。 環境 Java8 1.8.9_162 Windows7 ディレクトリ構成 src/ senario.java // import hoge.fuga.* senario.class Foo.java // package hoge.fuga Bar.java // package hog…

学習者のための「レストランJava」

以前、Java学習者の一助にと思って、小さなJavaのプログラムを作った。実行するとレストランでの会話?が展開される。 効用 Javaの基本であるclass間のデータのやりとりがわかる ダウンロード javaRestaurants.zip - Google ドライブ 推奨の利用方法 各class…

Eclipseのトラブルとその原因

Eclipseで発生したトラブルと特定できた原因の覚え書き。時に応じて更新。 TOMCATが起動しない 以下のいずれの場合も起動できない。 @アノテーションが重複している @アノテーションがあるのにWEB-INFの下にweb.xmlが存在している 別アプリのコンパイルエ…

Java初学者がひっかかっていたところまとめ

1ヶ月ほど初学者に教えた際、ひっかかっていたところをまとめた。何かの参考に。 文字列+文字列 一定の確率で、文字列+文字列 が 文字列であることを理解していない受講生に遭遇する。変数を間に挟んでも混乱する。 "hoge" + "hoge" "hoge" + foobar + "ho…

Javaの勉強5

ラッパークラス 基本データ型を参照型オブジェクトにしたもの。要するに、何でもオブジェクトにしちゃえば、メソッドも付けられて便利だよね、というオブジェクト至上主義ですよね(暴論)。 Autoboxingは、プリミティブ型をラッパークラスに変換する自動処…

Javaの勉強4

クラスパス -classpath.;c:¥classes セミコロンの意味は、パスの区切りということらしい。この場合、ドットとclassesと2つのパスを指定しているってこと。 例外 一般的例外と業務的例外。一般的例外は、Java上で用意されているもの。業務的例外は、主にユー…

Javaの勉強3

UML コンポジション 以下の記事がわかりやすかった。 集約もコンポジションも「全体 - 部分」の関係。 集約は、モデリングする際には無視する(?)。関連と意味合いには変わらないので関連で表現できる。 コンポジションは、1つの部分インスタンスに対して…

Javaの勉強2

ポリモフィズム 似た機能のメソッド名を同じ名前に設定できることでアクセスの利便性を図ること。 抽象クラス、抽象メソッド 具体的な処理内容がないメソッドを抽象メソッドと呼ぶ。抽象メソッドを含むクラスを抽象クラスと呼ぶ。 抽象クラスでは、オブジェ…

Javaの勉強1

領域 これについては私は学校で教わらなかったので、よく勉強しておかないといけない。 領域図 これも学校では描かなかった。変数設計ってことだよね……。 自分でPHPを描いた時には、スーパーグローバル変数だけとりあえず変数一覧を作成していた。でないと、…

オブジェクト指向とUML

仕事先からもらった資料でオブジェクト指向の勉強中。だいたいは知っていることだけど、時々は知らないことも出て来て勉強になる。 カプセル化と情報隠蔽 カプセル化……データと操作をひとまとめにして扱うこと。 情報隠蔽……データへの直接アクセスを阻止する…

開発日誌を書くことにした

web上の情報を集めていく時に、案外思った通りのものが見つからないで苦労する場合もあるので、そうしたことをメモしておくことにした。自分のためにも、誰かのためにも。 英語で書いてもいいかもしんないなー、とか思ったり。思わなかったり。