Javaが気になったので概要を少し調べた

Rubyのコミュニティでも以前Javaやっていたという人が結構多くいらっしゃいます。

Javaを嫌いだという人も、カッチリしていて良いという人もいます。

Java経験者同士のあるある話で楽しそうに話が盛り上がることも多く、自分も会話について行きたい!!と思い、概要や特徴について調べることにしました。

 

以下のサイトで無料でダウンロードできるようです!!

www.oracle.com

 

こちらでJavaの開発環境として多く使われているEclipseというIDEもダウンロードできるようです!!

www.eclipse.org

 

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 machineJava VMJVMなど)を使ってコンパイルし、実行できるようにします。

コンパイルはターミナルで、以下のコマンドを実行します。

javac HelloWorld.java

実行し終わると、同じ名前で拡張子が.classという名前のファイルが出来上がります。

このコンパイルの過程で、どんな環境でも動くようにしてくれるようです。

 

③実行

以下のコマンドをうち、コンパイルされたファイルを実行します。

java HelloWorld

 

 

Javaフレームワーク

Struts

JSF

Spring Framework

SAStruts

・Play Framework

Apache Wicket

・Dropwizard

・ZK

・Ninja web framework

・Spark Framework

 

 

抽象クラスと抽象メソッド

abstract修飾子がつけられたクラスとメソッドをそれぞれ抽象クラス、抽象メソッドと呼びます。

抽象クラスは通常1つ以上の抽象メソッドをもち、直接インスタンス化することができません。インスタンス化しようとするとエラーが出ます。

抽象クラスで大まかな定義を行い、具体的な機能は継承したサブクラスで定義します。

多重継承はNGです。

 

インターフェース

インターフェースは具体的な処理内容を記述せず、メソッドの型だけを宣言したものです。

インターフェースは複数の継承を行うことができます。