Javaが気になったので概要を少し調べた
Rubyのコミュニティでも以前Javaやっていたという人が結構多くいらっしゃいます。
Javaを嫌いだという人も、カッチリしていて良いという人もいます。
Java経験者同士のあるある話で楽しそうに話が盛り上がることも多く、自分も会話について行きたい!!と思い、概要や特徴について調べることにしました。
以下のサイトで無料でダウンロードできるようです!!
こちらでJavaの開発環境として多く使われているEclipseというIDEもダウンロードできるようです!!
Javaの特徴
・大規模システムで多く使われています。
・C言語の構文を引き継いだ言語です。
・汎用的でOSに依存せず動きます。
・コンパイルが必要です。
・型をきっちり定義します。
・Rubyと比べると記述量が多くなりがちです。
・Eclipseという環境で使われることが多いです。
・オブジェクト指向言語です。
Javaを実行するまでの流れ
①プログラムの作成
拡張子.java をつけたファイルを作成し、コードを書きます。
ファイルの名前はクラスの名前と一致させる必要があります。
また、クラス名はアルファベットと数字を自由に組み合わせることができますが、先頭の文字が数字で始まるのはダメです。
また、すでに用意されているクラス名と同じ名前もダメです。
(クラス名の例:Applet, Graphics, Image, String, Integer, MouseEvent, MouseListener, MouseMotionListener, Button, Choice, ActionEvent, ActionListener, ItemEvent, ItemListener, Thread, Runnable, FlowLayout, BorderLayout, Panel, Canvas)
HelloWorld.java
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
②コンパイル
作成したファイルをJava仮想マシン(Java virtual machine、Java VM、JVMなど)を使ってコンパイルし、実行できるようにします。
コンパイルはターミナルで、以下のコマンドを実行します。
javac HelloWorld.java
実行し終わると、同じ名前で拡張子が.classという名前のファイルが出来上がります。
このコンパイルの過程で、どんな環境でも動くようにしてくれるようです。
③実行
以下のコマンドをうち、コンパイルされたファイルを実行します。
java HelloWorld
Javaのフレームワーク
・JSF
・Play Framework
・Dropwizard
・ZK
・Ninja web framework
・Spark Framework
抽象クラスと抽象メソッド
abstract修飾子がつけられたクラスとメソッドをそれぞれ抽象クラス、抽象メソッドと呼びます。
抽象クラスは通常1つ以上の抽象メソッドをもち、直接インスタンス化することができません。インスタンス化しようとするとエラーが出ます。
抽象クラスで大まかな定義を行い、具体的な機能は継承したサブクラスで定義します。
多重継承はNGです。
インターフェース
インターフェースは具体的な処理内容を記述せず、メソッドの型だけを宣言したものです。
インターフェースは複数の継承を行うことができます。