ホームページ Java &#&チュートリアル Java オブジェクトとは何ですか? Java オブジェクトの概要 (コード例)

Java オブジェクトとは何ですか? Java オブジェクトの概要 (コード例)

Oct 11, 2018 pm 03:33 PM
Javaオブジェクト

この記事では、Java オブジェクトとは何なのかについて説明します。 Java オブジェクトの紹介には一定の参考価値がありますので、困っている方は参考にしていただければ幸いです。

例:

public class Book {

    /**
     * 书名
     */
    private String name;
    /**
     * 作者
     */
    private String author;

    /**
     * 获取书名
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * 设置书名
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取作者
     * @return
     */
    public String getAuthor() {
        return author;
    }

    /**
     * 设置作者
     * @param author
     */
    public void setAuthor(String author) {
        this.author = author;
    }

}
ログイン後にコピー

オブジェクトとは

「JAVA プログラミング思考」におけるオブジェクトの定義は次のとおりです。問題空間、そしてプログラム空間におけるそれらの表現は「オブジェクト」と呼ばれます。
1. 問題空間: 解決される実際の問題モデル;
2. 解決空間: コンピューター (マシン モデル)。
実際の問題をコンピュータ内で表現したもの (マシンモデル) をオブジェクトと呼びます。上の例では、コンピューターは一意のエンティティ (new Book()) を使用して本を表します。このエンティティはオブジェクトと呼ばれ、オブジェクトはクラスのインスタンスです。

クラスとは

同じプロパティと動作を持つオブジェクトの抽象化がクラスです。つまり、クラスはオブジェクトの設計図であり、この 2 つの関係は、クラスのインスタンスがオブジェクトであり、オブジェクトの抽象化がクラスであるということです。上の例では: Book がクラスです。

オブジェクトの特性

1. 動作: クラスのメソッド、例のメソッド: getName()、setName(String name)、getAuthor()、setAuthor( String著者)。
2. ステータス: クラスの属性、例の属性: 名前、作成者、
3. ID: メモリ内のクラスのアドレス、メモリ内の new Book() のアドレスが ID です。

オブジェクト指向の機能

1. カプセル化: オブジェクトのプロパティを非表示にしますが、ユーザーがこれらのプロパティを操作するためのメソッドを提供します。メソッドのみ使用可能 オブジェクトのプロパティにアクセスするには、カプセル化にはプライベート プロパティ: name、プロパティ アクセス メソッド: getName()、およびプロパティ変更メソッド: setName(String name) が必要です。

2. 継承: 既存のクラスを継承することにより、このクラスの属性とメソッドを再利用できます。継承されたクラスはサブクラスと呼ばれます。特定の関数のコード、親クラスは通常、共通のメソッドと属性を保存します。継承は extends キーワードによって実現されます。

継承例:

// 备注:class可以定义多个类,但只有一个public类,而且public修饰的类名称要和文件名称一致。
public class BookTest{
    public static void main(String[] args) {
        System.out.println(new HistoryBook().getName());
    }
}
class HistoryBook extends Book{
    /**
     * 发生日期
     */
    private LocalDate happenDate;
    protected LocalDate getHappenDate() {
        return happenDate;
    }
    public void setHappenDate(LocalDate happenDate) {
        this.happenDate = happenDate;
    }
}
ログイン後にコピー

上記の HistoryBook は Book のサブクラスであり、main メソッドでは、HistoryBook オブジェクトを通じて書籍のタイトルを直接取得できます。これは含まれていない属性です。 HistoryBook クラス内にありますが、継承により、親クラスのすべての public メソッド、protected メソッド、およびデフォルトで変更されたメソッドを呼び出すことができます。

3. ポリモーフィズム: 変数参照が複数の実際の型を指すことができる現象は、ポリモーフィズムと呼ばれます。ポリモーフィズムの形成は、継承 (拡張) / 実装 (実装) に基づいています。重要な点は、親クラスの参照はサブクラス変数を指しますが、親クラスの参照をサブクラス変数に割り当てることはできません。

多態性の例:

        // 父类引用指向子类,形成多态
        Book book = new HistoryBook();
        // 报错,原因:不能把父类引用赋值给子类,因为不能确定父类的具体类型,父类可能是A extends Book,也可能是B extends Book,不能把A或B强制转成HistoryBook,因为它们两之间是没有任何联系的。
        HistoryBook historyBook = (HistoryBook) new Book();
        // 这里是正常运行的,因为book其实指向的是一个HistoryBook的对象,这里是可以强制转换的。
        HistoryBook hb = (HistoryBook) book;
ログイン後にコピー

以上がJava オブジェクトとは何ですか? 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 オブジェクトの作成プロセスとは何ですか? Apr 11, 2024 pm 12:51 PM

Java オブジェクトの作成には、次の手順が含まれます。 クラスのロード: クラスのバイナリ コードをロードします。メモリ割り当て: ヒープ メモリ内のオブジェクトにメモリ領域を割り当てます。インスタンス化: 割り当てられたメモリ空間にオブジェクトの新しいインスタンスを作成します。初期化: オブジェクトのインスタンス変数をデフォルト値で初期化します。コンストラクター呼び出し: 適切なコンストラクターが呼び出され、オブジェクトの残りのフィールドが初期化されます。

MyBatis の実行プロセスを 1 つの図で理解する: SQL を Java オブジェクトにマッピングするプロセス MyBatis の実行プロセスを 1 つの図で理解する: SQL を Java オブジェクトにマッピングするプロセス Feb 22, 2024 pm 04:33 PM

MyBatis は、Java アプリケーションでデータベースと対話するプロセスを簡素化し、開発効率を大幅に向上させる優れた永続層フレームワークです。 MyBatis フレームワークの中心となるアイデアは、SQL ステートメントを Java オブジェクトにマップし、XML 構成ファイルまたは注釈を介して SQL マッピングを実装することで、データベース操作を簡単に実行できるようにすることです。 MyBatis では、SQL を Java オブジェクトにマッピングするプロセスは、SQL マッピング ファイルの設定、Java オブジェクトの定義、および

Javaオブジェクトを理解する方法 Javaオブジェクトを理解する方法 Jun 21, 2023 am 11:13 AM

Java オブジェクトは、独自に定義したクラスによって作成されます。実際には、クラスの特定の実装です。クラスがなければ、オブジェクトは存在しません。クラスは、多くのオブジェクトを作成できます。クラスは、特定の共通の特性を持つエンティティのコレクションであり、抽象データ型、同じ特性を持つエンティティの抽象化、およびあるタイプの「物」の属性と動作の抽象化です。オブジェクトは現実世界の実体です。オブジェクトと実体の間には 1 対 1 の対応関係があります。つまり、現実世界のすべての実体はオブジェクトであり、オブジェクトは特定の概念です。

JPAテクノロジーを使用して、JavaオブジェクトをMySQLデータベースに保存して保存します。 JPAテクノロジーを使用して、JavaオブジェクトをMySQLデータベースに保存して保存します。 Jun 10, 2023 am 10:15 AM

JPA (JavaPersistenceAPI) は、JavaEE5.0 で導入された ORM 仕様であり、その目的は、オブジェクトとリレーショナル データベースのマッピングを簡素化し、Java 開発者が Java オブジェクトをリレーショナル データベースに簡単に永続化できるようにすることです。 JPA はデータの概念を抽象化することで Java オブジェクトとリレーショナル データベース間のマッピングを隠蔽するため、開発者はデータ ストレージの詳細に注意を払うことなくビジネス コードの作成に集中できます。この記事ではその使い方を紹介します

Java オブジェクトのライフサイクルは何ですか? Java オブジェクトのライフサイクルは何ですか? Apr 11, 2024 pm 06:54 PM

Java オブジェクトのライフ サイクルには、オブジェクトの作成、初期化、到達可能性、無効化、リサイクルが含まれます。オブジェクトは new キーワードを使用して作成され、初期化はコンストラクターで実行されます。到達可能性とは参照変数を介したアクセスを指します。失敗とは到達不能になったことを意味し、リサイクルとはガベージ コレクターが無効なオブジェクトのメモリを解放することを意味します。

Javaオブジェクトを理解する方法 Javaオブジェクトを理解する方法 Aug 09, 2023 pm 02:08 PM

Java オブジェクトは、Java プログラミング言語の中核概念です。クラスのインスタンス化によって取得される具体的なエンティティです。プロパティとメソッドがあり、現実世界の物事、概念、または抽象概念の表現とみなすことができます。 Java オブジェクトはクラスのインスタンス化です。クラスのコンストラクタを使用すると、人の特定のインスタンスを作成できます。Java オブジェクトには、オブジェクトの特性を記述する属性があり、クラスのメンバー変数を使用して表されます。 ; Java オブジェクトにはメソッドがあり、オブジェクトの状態を変更したり、オブジェクトの機能を提供したりするために使用されます。Java オブジェクトはカプセル化されます。

JVM 内部データ構造: Java オブジェクトの効率的な管理 JVM 内部データ構造: Java オブジェクトの効率的な管理 May 09, 2024 am 11:39 AM

JVM の内部データ構造には、Java オブジェクトを効率的に管理するために使用されるオブジェクト ヘッダー、クラス テーブル、およびハッシュ テーブルが含まれます。オブジェクト ヘッダーはメタデータを格納し、クラス テーブルはクラス情報を提供し、ハッシュ テーブルは高速オブジェクト ルックアップを実装します。これらの組み合わせにより、Java アプリケーションの高パフォーマンスな動作が保証されます。

Java オブジェクトの作成にかかるコストはどれくらいですか? Java オブジェクトの作成にかかるコストはどれくらいですか? Apr 11, 2024 pm 03:15 PM

Java オブジェクトの作成には、メモリ割り当て、コンストラクター呼び出し、クラスの読み込みなどのオーバーヘッドが発生します。正確なコストは、ヒープ サイズ、クラス サイズ、コードの実行時間によって異なります。実際の戦闘では、100 万個の整数オブジェクトを作成するのに約 1000 ミリ秒かかります。最適化戦略には、オブジェクト プール、スレッドローカル ストレージ、遅延初期化の使用が含まれます。

See all articles