javaでポイントになるものをまとめてみた

Javaの開発をしたことがないので、やったことをまとめていこうと思います。

基本的なことをやっていくので初心者でも出来るレベルだと思います。

 

newを使用したインスタンスの生成

[Rensyu402_01.java]

[表示結果]

★ポイント

  • 処理の開始はmainメソッドから行われる。したがって必ずひとつのmainメソッドを持つクラスを用意する。

 

複数のクラスを利用する

[DispMessage2.java]

[Rensyu403_01.java]

[表示結果]

★ポイント

  • インスタンスの生成は自分自身のクラスを基にしても、ほかのクラスを基にしても可能である。
  • Javaにおいて機能の実現は、インスタンス化が基本となるが、ある条件においては、インスタンスを生成せずに利用することも可能である(奨励するという意味ではない)。

 

引数/戻り値を使用する

[ShisokuEnzan.java]

[Rensyu404_01.java]

[表示結果]

★ポイント

  • 他のメソッドに引数を渡すにはメソッド名に続き()内に引数を記述する。引数は複数同時に引き渡すことができる。その場合は‘,‘(カンマ)で区切りに記述する。引数はフィールド(変数)または、定数での指定が可能。

 

クラスメソッド

[Rensyu405_02.java]

[Rensyu405_01.java]

[表示結果]

★ポイント

  • static宣言されたものを静的メンバーといい、メンバーにはメソッドとフィールドが含まれる
  • 静的メソッドはクラスメソッドとも呼ばれ、その利用に際しインスタンスを生成することなく使用可能である

 

インスタンス変数とクラス変数

[Mult.java]

[Rensyu406_01.java]

[表示結果]

★ポイント

  • フィールドの種別にはクラス変数、インスタンス変数、ローカル変数がある。
  • クラス変数は、クラス内においてメソッドの外側で定義され、「static」とともに宣言されたフィールドであり、この領域はそれが定義されているクラス、およびそのクラスを基に生成される全インスタンス領域となる。

 

オーバーロード

[Rensyu407_02.java]

[Rnsyu407_01.java]

[表示結果]

★ポイント

  • オーバーロードとは引数の型もしくは数が異なれば、ひとつのクラス内に同じ名称のメソッドを定義することを許可するもの。

 

継承

[Hyouji.java]

[Souwa.java]

[Rensyu408_01.java]

[表示結果]

 

[Pasocom.java]

[DPasocom.java]

[NPasocom.java]

[Rensyu408_02.java]

[表示結果]

★ポイント

  • 継承とはクラス間に親子関係を持たせることであり、extendsというキーワードを使用して記述する。これにより親クラスが持つフィールドやメソッドを子クラスが引き継ぎ利用することが可能となる。

 

オーバーライド

[Oya1.java]

[Kodomo1.java]

[Rensyu409_01.java]

[表示結果]

 

[Laundry1.java]

[Laundry2.java]

[Rensyu409_02.java]

[表示結果]

★ポイント

  • オーバーライドとは継承したスーパークラスと同様のシグネチャを持つメソッドをサブクラス側に定義することである。
  • オーバーライドの利点は、継承により効率的にスーパークラスの機能を流用しつつ、必要に応じてその機能を変更できることである。

 

抽象クラス

[Laundry1.java]

[Triangle.java]

[Square.java]

[Rensyu410_01.java]

[表示結果]

★ポイント

  • 抽象クラスとは抽象メソッドを持つクラスのことで、キーワードabstractを付けなければならない。
  • 抽象メソッドはメソッド名、引数、戻り値のみを定義し、プログラムは記述しない。

 

インターフェース

[IntfComp.java]

[Keisan1.java]

[Keisan2.java]

[Rensyu411_01.java]

[表示結果]

 

[Cake.java]

[Decorate.java]

[StrawberryCake.java]

[ChocolateCake.java]

[Rensyu411_02.java]

[表示結果]

★ポイント

  • インターフェースは処理の実体を持たないメソッドの集まりであり、オーバーライドを前提とした仕様の定義である。
  • インターフェースで宣言されるメソッドは、実装するクラス側で必ずオーバーライドしなければならない。

 

ポリモルフィズム

[Stroke1.java]

[Kenhi.java]

[Kenzou.java]

[SwimmingSchool.java]

[Rensyu412_03.java]

[表示結果]

★ポイント

  • ポリモルフィズムとは同じ名前のメソッドを呼び出しても異なる処理を発生させる仕組みのことである。
  • メソッドに引数としてオブジェクトを渡すとき、メソッド側ではインスタンス型で受け取ることができる。

 

コンストラクタ

[MyAge.java]

[Rensyu413_01.java]

[表示結果]

 

[Tashizan.java]

[Rensyu413_02.java]

[表示結果]

 

[Runner.java]

[Rensyu413_03.java]

[表示結果]

★ポイント

  • コンストラクタはインスタンスの生成時に呼び出される特別なメソッドであり、フィールドの初期化処理に利用される。
  • コンストラクタの名称はクラス名と同じになる。したがってメソッドの一種ではあるが先頭は大文字となる。

 

パッケージ

[Tashizan.java]

[Rensyu501_01.java]

[表示結果]

★ポイント

  • 同一パッケージ内では同一クラス名を使用することができない。※パッケージが異なれば同一クラス名を使用可能

 

インポート

[Rensyu502_01.java]

[表示結果]

★ポイント

  • クラス内で使用するクラスをインポートすることができる。※インポート句
  • インポートしたクラスは「パッケージ名」+「クラス名」と記述しなくてもクラス名だけで使用することができる。

 

修飾子と可視性

[Syouhin.java]

[Rensyu503_02.java]

[表示結果]

★ポイント

  • 修飾子にはアクセス制限(可視性)を表すものと性質を表すものがある。
  • カプセル化を意識するとアクセス制限は厳しい方がよい。
  • 変数にはアクセス可能域の広さにより3種類が存在する。
  1. クラス変数
  2. インスタンス変数
  3. ローカル変数

 

例外処理

[Tashizan1.java]

[Koeta25Exception.java]

[Rensyu504_01.java]

[表示結果]

 

[Rensyu504_04.java]

[表示結果]

★ポイント

例外処理とはプログラム内で発生する正常な動作以外の挙動に対する対応策を記述することであり、「システム例外」と「オリジナル例外」の2種類に大別される。

 

スレッド処理

[Aisatsu1.java]

[Rensyu505_01.java]

[表示結果]

 

[Midashi.java]

[Aisatsu2.java]

[Rensyu505_02.java]

[表示結果]

★ポイント

  • スレッドとはプログラム内における実行単位のことである。
  • スレッド処理を利用することにより複数のプログラムを見かけ上同時に実行することができる。
  • スレッドに対応したプログラムにするための方法には以下の2種類が存在する。
  1. 継承によるスレッド実現…Threadクラスをextendsする。
  2. 実装によるスレッド実現…Runnableクラスをimplementsする。

 

コレクションクラス

[Rensyu506_01.java]

[表示結果]

 

[StackList.java]

[Rensyu506_03.java]

[表示結果]

 

[Rensyu506_04.java]

[表示結果]

★ポイント

  • コレクションクラスクラスは処理の途中で要素数を変化させることができる。※自動的に変化する
  • コレクションクラスはどんな型のオブジェクトでも格納することができる。
  • コレクションクラスには様々な種類があり、それぞれに特徴があるので処理に合ったクラスを選ぶことが大切である。
  1. データの追加、削除より参照の方が主体…ArrayList
  2. データの参照より追加、削除の方が主体…LinkdList
  3. キー値からデータを取得したい…HashMap

 

投稿者: samancha