ホームページ Java &#&チュートリアル Java プログラミングのアイデアと手法のまとめ

Java プログラミングのアイデアと手法のまとめ

Jul 17, 2017 pm 04:17 PM
java 要約する ノート

この本は冗長すぎるといつも感じていましたが、要約を読んだ後、後で思い出すのが簡単になるので、怠惰にネットで他の人の要約を探したかったのですが、適切な要約が見つからなかったので、できるだけ良く要約するために最善を尽くさなければなりませんでした。

オブジェクト入門

オブジェクト入門を見たときにこの本のことを思い出しました

目次:

1.1 抽象化プロセス
1.2 それぞれオブジェクトにはインターフェースがある
1.3 すべてのオブジェクトはサービスを提供する
1.4 隠蔽された具象実装
1.5 具象実装を再利用する
1.6 継承
1.7 多態性を備えた交換可能なオブジェクト
1.8 シングルルート継承構造
1.9 コンテナ
1.10 オブジェクトの作成と存続期間 問題点
1.11 例外処理: エラーの処理
1.12 同時プログラミング
1.13 Java とインターネット
1.14 概要


これを読むと、ようやく Java に習熟できたような気がします。ただし、この章では、開発の概要を含む OOP の基本概念を紹介するだけです。オブジェクトの重要性を理解します。


1.1 抽象化プロセス

他の言語の欠点を通してオブジェクト指向言語の利点を説明します。

アセンブリ言語は基盤となるマシンをわずかに抽象化したもので、命令型言語(C、BASICなど)はアセンブリ言語を抽象化したもので、アセンブリ言語はコンピュータのハードウェアを直接制御し、命令型言語はコンピュータの構造に基づいて問題を解決します。 OOP 言語は問題の構造に基づいて問題を解決し、特定の種類の問題に限定されません。

1.2 各オブジェクトにはインターフェースがあります

インターフェース:特定のオブジェクトに対して行うことができるリクエストを決定しますオブジェクト:型名

テキストの説明を見ると、哲学的な問題に発展しています, from 以下の例がわかりやすいですね。

Light lt = new Light(); //对象lt.on;//接口向对象发出请求
ログイン後にコピー

1.3 各オブジェクトはサービスを提供します

利点: 1. ソフトウェアの凝集性の向上に役立ちます 2. 各オブジェクトはタスクを適切に完了できますが、そうではありませんそれ以上のことをしようとしないでください。

理解: 歌詞の表示、再生、一時停止、および背景表示 (サービス) を備えた音楽プレーヤーを設計します。現時点では、1 つのオブジェクトを提供するだけでなく (それ以上のことを実行しようとするわけではありません)、次のことが可能です。 3 つのオブジェクトを提供し、3 つのサービスを完了し、3 つのオブジェクトが 3 つのサービスを提供して音楽プレーヤー (Cohesion) を完成させます。

1.4 隠された特定の実装

私の目標は、迅速なアプリケーション開発を実現することです。フレームワークはメソッド呼び出しを提供するだけで、残りは隠されています

。私の通話には影響しません

アクセス許可: public > protected (パッケージ + 基本クラス) > パッケージアクセス許可 (キーワードがない場合のデフォルト) > 特定の実装を再利用

クラス内で継承または合成を使用します。

継承----関係がある ライチは果物

  • の組み合わせ----関係がある うつ伏せで寝る方法がある

  • 1.6 継承

親クラスからサブクラスを派生させ、サブクラスは親クラスのデータ属性と動作を吸収し、新しい機能を拡張できます。

1.7 ポリモーフィズムによる交換可能なオブジェクト

class Shape{ 
  draw();
  erase();
  move();
  getColor();
  setColor();
}
ログイン後にコピー
void doSomething(Shape shape){
shape.erase();//...shape.draw();
}

Circle circle = new Circle(); //父类为ShapeTriangle triangle = new Triangle();  //父类为ShapeLine line = new Triangle();  //父类为ShapedoSomething(circle);
doSomething(triangle);
doSomething(line);
ログイン後にコピー

对doSomething的调用会自动地正确处理,而不管对象的确切类型(可互换对象)。

doSomething(Shape shape)的执行是指你是Shape类或者父类为Shape,而不是你是Circle类就执行这样,你是Triangle 类就执行那样。理解了可以去看设计模式之策略模式。

这里还涉及到向上转型,如下图:

 

1.8 单根继承结构

 1、所有类都继承自单一的基类

public class JianCheng extends Object {  
}
ログイン後にコピー
public class JianCheng {  public static void main(String[] args) {  
        JianCheng jiancheng= new JianCheng();  
        System.out.println(JianCheng instanceof Object);  
    }  
}
ログイン後にコピー
E 出力: True // JIANCHENG クラス

Object 2 のデフォルト継承のデフォルト継承を説明し、すべてのオブジェクトが特定の関数を持っていることを確認します

Object 例: clone( )、equals(Object obj)、toString() およびその他のメソッド。

3. ガベージコレクションが簡単になります

オブジェクトにはその (オブジェクト) 型情報があることが保証されているため、オブジェクトの型を決定できないことによるデッドロックは発生しません。これは、システムレベルの操作 (例外処理など) にとって重要です。

1.9 コンテナ

List (シーケンスの保存に使用)、Map (連想配列とも呼ばれ、オブジェクト間の関連付けの確立など) など、コンテナ (コレクション) と呼ばれる他のオブジェクトへの参照を保持します。 )、セット (各オブジェクト タイプを 1 つだけ保持)、およびキュー、ツリー、スタックなどのその他のコンポーネント。

ArrayList と LinkedList を比較すると、前者は 配列の形をしており、

要素にランダムにアクセスするコストはほとんどかかりませんが、挿入と削除の操作には多額のコストがかかります。後者はリンクされたリストの形式になっているため、挿入と削除の操作

が簡単になります。 1.10 オブジェクトの作成と有効期間

スタックとヒープに配置されたオブジェクトの違いを理解する

位置を考慮する、 はオブジェクトの正確な数、存続期間、タイプを知る必要があるため、

の柔軟性が犠牲になります。
  • ヒープ -- オブジェクトはメモリプール内に動的に作成され、オブジェクトの数、ライフサイクル、タイプは実行時にのみわかります。動的管理では、ヒープに記憶領域を割り当てるのに多くの時間がかかりますが、記憶領域の作成と解放は非常に便利です。

  • Javaは、newキーワードを使用してオブジェクトを作成する動的メモリ割り当て方法を採用し、オブジェクトの生存時間を決定し、「ガベージコレクタメカニズム」を自動的に使用します。 「破壊してください。

1.11 例外処理: エラーの処理

Exception は、エラーポイントからスローされ、特定のタイプのエラー例外ハンドラーによってキャッチされるオブジェクトです。 --キャッチするか投げる。例外処理は、エラーが発生したときに、プログラムの通常の実行パスと並行して実行される別のパスのようなものです。

Java コードが正しい例外処理コードを記述していない場合は、コンパイル時エラー メッセージが表示されます。例: IOException、ClassCastException (クラス変換例外)、NullPointerException (null ポインタ例外) など。

1.12 同時プログラミング


複数のタスクを同時に処理するという考え方、つまりマルチスレッド操作です。

同期マルチスレッド操作、共有リソースには隠れた危険があります。 Aは元々a=Love Youを使いたかったのですが、あるスレからa=hate youになってしまいAが使ってしまったのでAの告白は確実に失敗します。

1.14 概要
最初の章はすべて理論的な知識であり、多くの知識ポイントは明らかに非常に簡単ですが、長い議論により理解するのが難しくなります いくつかの実践的な情報もありますが、それが混在しています。綿毛が多すぎる。

以上がJava プログラミングのアイデアと手法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプ Java での日付までのタイムスタンプ Aug 30, 2024 pm 04:28 PM

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

カプセルの量を見つけるためのJavaプログラム カプセルの量を見つけるためのJavaプログラム Feb 07, 2025 am 11:37 AM

カプセルは3次元の幾何学的図形で、両端にシリンダーと半球で構成されています。カプセルの体積は、シリンダーの体積と両端に半球の体積を追加することで計算できます。このチュートリアルでは、さまざまな方法を使用して、Javaの特定のカプセルの体積を計算する方法について説明します。 カプセルボリュームフォーミュラ カプセルボリュームの式は次のとおりです。 カプセル体積=円筒形の体積2つの半球体積 で、 R:半球の半径。 H:シリンダーの高さ(半球を除く)。 例1 入力 RADIUS = 5ユニット 高さ= 10単位 出力 ボリューム= 1570.8立方ユニット 説明する 式を使用してボリュームを計算します。 ボリューム=π×R2×H(4

See all articles