検索
ホームページJava&#&チュートリアルJava オブジェクトとは何ですか? 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 までご連絡ください。
Java对象的创建过程是什么?Java对象的创建过程是什么?Apr 11, 2024 pm 12:51 PM

Java对象创建涉及以下步骤:类加载:加载类的二进制代码。内存分配:在堆内存中分配用于对象的内存空间。实例化:在分配的内存空间中创建对象的新实例。初始化:用默认值初始化对象的实例变量。构造函数调用:调用适当的构造函数来初始化对象的其余字段。

一图看懂MyBatis执行流程:SQL映射到Java对象的过程一图看懂MyBatis执行流程: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对象是由我们自己定义的类来创建的,实际上就是类的具体实现,没有类就没有对象,一个类可以创建出很多对象。类就是具备某些共同特征的实体的集合,是一种抽象的数据类型,是对所具有相同特征实体的抽象,是对一类“事物”的属性与行为的抽象。对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。

通过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

ホット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ヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール