TECH PLAY

新わかりやすいJava オブジェクト指向徹底解説 第2版

3,300円 (税込)

楽天

新わかりやすいJava オブジェクト指向徹底解説 第2版

書籍情報

発売日:

著者/編集:川場隆

出版社:秀和システム

発行形態:単行本

書籍説明

内容紹介

モヤモヤがスッキリ晴れる、難しいオブジェクト指向がわかる。本当に理解したいから、じっくり丁寧に学ぶ。人気No.1の完全独習テキスト。学生の“わからない”を徹底的になくした授業で使えるJavaオブジェクト指向の決定版!ラムダ式、ストリーム、パターンマッチなど、最新プログラムがわかる。Java17(LTS)準拠。新機能も徹底解説。

目次

■第1章 クラスの作り方 1.1 オブジェクトとは  1.オブジェクトって何?  2.データの集まりをオブジェクトにする  3.まずクラスを作る  4.クラスの作り方  5.基本機能として必要なもの 1.2 クラスを作る  1.クラスを作る手順  2.完成したクラスについて 1.3 まとめとテスト  1.まとめ  2.演習問題 ■第2章 インスタンスの作り方と使い方 2.1 インスタンスを作る  1.作成には new演算子とコンストラクタを使う  2.作成したインスタンスはクラス型の変数に代入する  3.インスタンスとは 2.2 ゲッターとセッターの使い方  1.メンバ参照演算子  2.ゲッターの使い方  3.セッターの使い方 2.3 メソッドを追加する  1.toStringメソッドの作成  2.toStringメソッドを使ってみる  3.メソッドを増やすには  4.メソッドを書いてみよう 2.4 まとめとテスト  1.まとめ  2.演習問題 ■第3章 クラスの仕組み 3.1 他のクラスからのアクセスを制限する  1.privateとpublic  2.privateでもpublicでもないケース  3.カプセル化とは 3.2 メンバの仕組み  1.スタティックメンバとは  2.インスタンスメンバとは  3.インスタンスメンバとスタティックメンバの混在 3.3 コンストラクタの仕組み  1.オーバーロード  2.コンストラクタをオーバーロードする  3.thisによるコンストラクタの簡単化  4.デフォルトコンストラクタ 3.4 まとめとテスト  1.まとめ  2.演習問題 ■第4章 インスタンスと参照 4.1 参照とは  1.参照とその役割  2.参照を使う理由 4.2 参照を意識する  1.変数から変数への代入  2.イミュータブル(immutable)なクラス 4.3 完全にイミュータブルなクラス 4.4 参照型  1.Java言語の型  2.nullとは 4.5 まとめとテスト  1.まとめ  2.演習問題 ■第5章 オブジェクト・モデリング 5.1 何かの機能を実現するクラス  1.処理の概要  2.クラスの定義(仕様)を考える  3.クラスの最終的な仕様を検討する  4.コーディング  5.クラスのインスタンスを作って処理を実行する  6.結論 5.2 record  1.recordとは  2.recordの定義と機能  3.recordへの機能追加  4.完全にイミュータブルなレコード  5.簡易な使い方 5.3 まとめとテスト  1.まとめ  2.演習問題 ■第6章 継承とは 6.1 クラス図  1.クラス図の見方  2.クラス図の書き方 6.2 継承  1.継承してクラスを作る  2.インスタンスの初期化  3.継承の効果を確認する 6.3 継承の規則  1.Is-a の関係  2.継承できないクラス  3.封印されたクラス(シールクラス)  4.継承できないメンバ 6.4 まとめとテスト  1.まとめ  2.演習問題 ■第7章 継承関係 7.1 継承ツリー  1.継承ツリーとは  2.Objectクラス 7.2 コンストラクタの連鎖  1.コンストラクタの連鎖  2.super( )の省略 7.3 複数のクラスを1つのファイルにする 7.4 protected修飾子  1.protectedの機能  2.protectedの注意点  3.アクセス修飾子のまとめ 7.5 まとめとテスト  1.まとめ  2.演習問題 ■第8章 参照の自動型変換 8.1 参照の自動型変換  1.自動型変換 8.2 アップキャストとダウンキャスト  1.視覚的な模式図  2.アップキャストとダウンキャスト 8.3 instanceof演算子 8.4 switchによる型の判定  1.switch文/switch式  2.switchによるオブジェクト型の判定  3.関係式による条件 8.5 まとめとテスト  1.まとめ  2.演習問題 ■第9章 ポリモーフィズム(多態性) 9.1 オーバーロード  1.サブクラスでのオーバーロード  2.メソッドのシグネチャー 9.2 オーバーライド  1.オーバーライドとは  2.オーバーライドの例外  3.@Overrideアノテーション 9.3 ポリモーフィズム(多態性)  1.ポリモーフィズムとは  2.ダイナミックバインディング  3.汎用化の仕組み 9.4 まとめとテスト  1.まとめ  2.演習問題 ■第10章 抽象クラス 10.1 抽象クラスとは  1.抽象クラスの特徴  2.抽象クラスの書き方 10.2 抽象クラスを継承する  1.抽象メソッドの実装  2.サブクラスも抽象クラスにする 10.3 抽象クラスのクラス図 10.4 まとめとテスト  1.まとめ  2.演習問題 ■第11章 インタフェース 11.1 インタフェースとは  1.インタフェースの定義  2.クラスへの実装  3.封印されたインタフェース 11.2 インタフェース型への型変換  1.インタフェース型  2.インタフェース型への型変換 11.3 インタフェースによるポリモーフィズム  1.ポリモーフィズム  2.インタフェースの使い方 11.4 インタフェースの継承  1.インタフェース同士の継承  2.インタフェースはサブクラスに継承される 11.5 まとめとテスト  1.まとめ  2.演習問題 ■第12章 例外処理の基礎 12.1 例外処理の必要性  1.例外とは  2. if文による例外対策と限界 12.2 例外処理  1.throw文で例外を投げる  2.try文で例外処理をする 12.3 例外処理の手順と流れ  1.例外処理のあるプログラム  2.例外の伝播 12.4 例外の型  1.例外クラス  2.Errorクラス(システムエラー)  3.チェック例外  4.実行時例外(非チェック例外) 12.5 まとめとテスト  1.まとめ  2.演習問題 ■第13章 例外処理の使い方 13.1 例外の投げ方  1.例外の投げ方  2.例外のコンストラクタとメソッド 13.2 カスタム例外  1.カスタム例外クラスの作り方  2.カスタム例外クラスの使い方 13.3 例外のかわし方と受け方  1.例外をかわす  2.複数のcatchブロック  3.マルチキャッチ  4. finallyブロック 13.4 オーバーライドと例外処理 13.5 まとめとテスト  1.まとめ  2.演習問題 ■第14章 ファイルとディレクトリの操作 14.1 Pathインタフェースの使い方  1.パスオブジェクトの作成  2.絶対パスと相対パス  3.Pathインタフェースのメソッド  4.Pathインタフェースのその他のメソッド 14.2 Filesクラスの使い方  1.ディレクトリの作成  2.ファイルの作成  3.ファイルのコピー  4.ファイル名の変更と移動  5.ファイル削除  6.ディレクトリの削除  7.Filesクラスのメソッドのまとめ 14.3 まとめとテスト  1.まとめ  2.演習問題 ■第15章 ファイル入出力 15.1 I/Oストリームと標準クラス  1.I/Oストリームとは  2.バイナリストリームとテキストストリーム  3.I/Oストリームのクラス 15.2 テキスト入力ストリーム  1.BufferedReaderの使い方  2.文字セットを指定して読み出す方法 15.3 リソース付きtry文  1.例外処理 15.4 テキスト出力ストリーム  1.PrintWriterの使い方  2.BufferedWriterで追記する  3.Scanner --- データを解析して入力する方法 15.5 オブジェクトの入出力  1.ObjectOutputStreamとObjectInputStream  2.オブジェクトとデータの入出力  3.シリアライズとデシリアライズ 15.6 まとめとテスト  1.まとめ  2.演習問題 ■第16章 コレクションフレームワークとリスト 16.1 コレクションフレームワーク  1.コレクションフレームワークの構成  2.各クラスの特徴  3.格納するオブジェクトの要件 16.2 リストの使い方  1.ArrayList  2.一般的なオブジェクトのリスト  3.ラッパークラス型のリスト  4.LinkedList 16.3 リストのAPI  1.ArrayListのコンストラクタ  2.Listインタフェースのメソッド  3.配列からリストを作る  4.既存のリストから不変リストを作る  5.リストを並び替える(sortメソッド) 16.4 まとめとテスト  1.まとめ  2.演習問題 ■第17章 SetとMap 17.1 Setの使い方  1.Set系クラスの特徴  2.HashSetクラス  3.LinkedHashSetクラス  4.TreeSetクラス 17.2 Set系のAPI 17.3 Mapの使い方  1.Map系クラスの特徴  2.HashMapクラス  3.すべてのエントリを取り出す  4.LinkedHashMapとTreeMap 17.4 Map系のAPI 17.5 まとめとテスト  1.まとめ  2.演習問題 ■第18章 総称型とインタフェースの応用 18.1 総称型  1.基本的な総称型の作成  2.総称型のインタフェース  3.境界ワイルドカード型  4.結論 18.2 インタフェース文法の拡張  1.デフォルトメソッド  2.スタティックメソッド 18.3 匿名クラス  1.匿名クラス 18.4 ネストクラス 18.5 まとめとテスト  1.まとめ  2.演習問題 ■第19章 ラムダ式 19.1 ラムダ式とは  1.ラムダ式の書き方  2.ラムダ式を使う 19.2 ラムダ式の詳細  1.関数型インタフェース  2.ラムダ式の文法  3.標準の関数型インタフェース 19.3 メソッド参照とコンストラクタ参照  1.クラスメソッド参照  2.インスタンスメソッド参照  3.コンストラクタ参照 19.4 まとめとテスト  1.まとめ  2.演習問題 ■第20章 ストリーム処理入門 20.1 ストリーム処理の概要  1.ストリーム処理とは  2.簡単なストリーム処理  3.いろいろなソースからのストリーム生成 20.2 中間操作の概要  1.中間操作メソッドの概要  2.例題で使用するPCレコードのリストについて 20.3 いろいろな中間操作  1. 抽出(filter)  2. 変換(map)  3.重複の除去 (distinct)  4.並び替え (sorted)  5.処理のスキップと上限 (skip 、 limit)  6.平坦化 (flatMap)  7.1対多変換(mapMulti)  8.切り捨てと切り取り(dropWhile、takeWhile)  9.デバッグ処理(peek) 20.4 まとめとテスト  1.まとめ  2.演習問題 ■第21章 ストリーム処理の応用 21.1 基本的な終端操作  1.終端操作メソッドの概要  2.条件にマッチするか調べる(~Match)  3.存在するかどうか調べて結果を受け取る(find~)  4.ひとつの値に畳み込む(reduce)  5. 基本的な集計(count、sum、average、max、min)  6.最大、最小のオブジェクトを得る(max、min) 21.2 collectによる終端操作  1.分類(groupingBy、partitioningBy)  2.変換(toList、toSet、toMap、toCollection、toUnmodifiableXXX)  3.文字列連結(joining)  4.計算(counting、summingXXX、averagingXXX、maxBy、minBy、summarizingXXX)  5.tee型のパイプライン処理(teeing) 21.3 Optionalクラス  1.Optional型の値の作成  2.値の取り出し  3.ストリーム処理  4.プリミティブ型のOptional 21.4 まとめとテスト  1.まとめ  2.演習問題 ■第22章 日付と時刻 22.1 Date and Time APIについて 22.2 日付の作り方と表示方法  1.日付の作り方  2.日付の編集  3.和暦で表示する 22.3 日付の操作  1.日付から値を取り出す  2.日付の計算  3.日付の比較  4.期間の計算  5.日付のストリーム  6.カレンダーの計算 22.4 その他のクラス  1.LocalTimeとLocalDateTime  2.時間についての期間 22.5 まとめとテスト  1.まとめ  2.演習問題 ■第23章 文字列と正規表現 23.1 文字列  1.文字列の特徴  2.テキストブロック  3.Stringクラスの主なAPI  4.Stringクラスのメソッドの使い方  5.文字列の連結とStringBuilderクラス 23.2 正規表現  1.正規表現とは  2.正規表現の文法  3.含む、含まない、を調べる 23.3 正規表現の利用  1.文字列の置き換えと分割  2.文字列の検査  3.Scannerクラスの区切り文字 23.4 まとめとテスト  1.まとめ  2.演習問題 ■第24章 列挙型 24.1 列挙型  1.列挙型の必要性  2.列挙型の作り方と特徴 24.2 列挙型の使い方  1.列挙型の値を比較する  2.switch文でcaseラベルとして使う  3.列挙型のメソッド 24.3 独自の列挙型の作成  1.列挙型を作成する 24.4 まとめとテスト  1.まとめ  2.演習問題 ■第25章 マルチスレッド 25.1 マルチスレッドの処理  1.マルチスレッドと非同期処理  2.スレッドの作成と実行 25.2 スレッドプールの利用  1.スレッドプールとは  2.スレッドプールの使い方 25.3 CompletableFuture  1.CompletableFutureとは  2.supplyAsync()による非同期処理の起動  3.thenAccept()による後処理の実行  4.エラー対策  5.非同期処理を連結する  6.非同期処理を結合する 25.4 まとめ ■補足資料  1.LocalTime、LocalDateTimeクラスの主なAPI  2.日付、時間の編集表示のためのパターン文字  3.printfの書式指定  4.InputクラスのAPI(jp.kwebs.Input)  5.モジュールシステム  6.URL一覧  7.用語集

著者情報

川場, 隆, 1953-

川場隆

類似書籍