Java での静的に変更された属性の分析 (コード例)
この記事の内容は Java の静的変更属性の解析に関するものです (コード例)。必要な方は参考にしていただければ幸いです。
static キーワード。開発では今でもよく使用されています。 『Javaプログラミング考』には次のような文章があります
静的メソッドとはこれを持たないメソッドです。非静的メソッドを静的メソッド内で呼び出すことはできませんが、その逆は可能です。また、オブジェクトを作成せずに、クラス自体を通じてのみ静的メソッドを呼び出すことができます。実際、これが静的メソッドの主な目的です。
static は、静的変数、静的メンバー、静的関数など、広く使用されています。シングルカラムモードを使用する場合に使用します。また、静的データ メンバーは静的ストレージ領域に保存され、一度だけ保存されるため、メモリを節約できます。
static 属性の宣言
static メンバー変数の変更
クラス (クラス) で属性を public として定義する必要がある場合 属性
、この属性がすべてのクラスに共通である必要があるのと同様に、この属性の値は同じです。
Test.java
class Book{ // 设置一个默认的值 static String pub = "清华大学出版社"; // 用来和 static 作为对比 String description = "描述"; // Book 类正常的属性 private String title; private double price; // Book 的构造类 public Book(String title, double price) { this.title = title; this.price = price; } // 获取 Book 的信息 public void getInfo(){ System.out.println("图书名称:"+ this.title + ",价格为:"+ this.price + ",出版社为:"+ this.pub + ",描述 "+ this.description); } } public class Test { public static void main(String[] args) { // 实例化三个Book类 Book book1 = new Book("Android开发实战", 69.8); Book book2 = new Book("Java EE开发实战", 49.8); Book book3 = new Book("Java 开发教程", 79.8); // 在没有设置 pub 属性的情况下输出 book1.getInfo(); book2.getInfo(); book3.getInfo(); System.out.println("————————————————————无敌分割线————————————————————"); // 我们给 book1 设置一个 pub 属性 book1.pub = "中信出版社"; book1.description = "这本书很牛逼,看了你就知道"; book1.getInfo(); book2.getInfo(); book3.getInfo(); } }
コンソール出力
图书名称:Android开发实战,价格为:69.8,出版社为:清华大学出版社,描述 描述 图书名称:Java EE开发实战,价格为:49.8,出版社为:清华大学出版社,描述 描述 图书名称:Java 开发教程,价格为:79.8,出版社为:清华大学出版社,描述 描述 ————————————————————无敌分割线———————————————————— 图书名称:Android开发实战,价格为:69.8,出版社为:中信出版社,描述 这本书很牛逼,看了你就知道 图书名称:Java EE开发实战,价格为:49.8,出版社为:中信出版社,描述 描述 图书名称:Java 开发教程,价格为:79.8,出版社为:中信出版社,描述 描述
コンソールからの結果出力は次のとおりです。
属性にデフォルト値を割り当てると、上記の例 (description と pub) では、出力結果はすべてデフォルトになります。
クラス内の static キーワードで宣言された属性を変更すると、一度変更される限り、他のすべてのオブジェクトのこの属性も変更されます。
クラスを介して静的に宣言された属性を呼び出す
しかし、上記のコードに基づくと、それがクラス オブジェクトの 1 つである場合、すべてのオブジェクトの属性は次のようになります。が変わったのでサブ操作が特に気持ちよくないですか? Java では、属性値が static を使用して宣言されている場合、クラスを通じて直接呼び出すことができます。
public class Test { public static void main(String[] args) { // 实例化三个Book类 Book book1 = new Book("Android开发实战", 69.8); Book book2 = new Book("Java EE开发实战", 49.8); Book book3 = new Book("Java 开发教程", 79.8); // 在没有设置 pub 属性的情况下输出 book1.getInfo(); book2.getInfo(); book3.getInfo(); System.out.println("————————————————————无敌分割线————————————————————"); // 我们使用 Book 类直接调用pub Book.pub = "中信出版社"; book1.description = "这本书很牛逼,看了你就知道"; book1.getInfo(); book2.getInfo(); book3.getInfo(); } }
クラスがインスタンス化されていない場合、静的属性が呼び出されます
Test.java
class Book{ // 设置一个默认的值 static String pub = "清华大学出版社"; // 用来和 static 作为对比 String description = "描述"; // Book 类正常的属性 private String title; private double price; // Book 的构造类 public Book(String title, double price) { this.title = title; this.price = price; } // 获取 Book 的信息 public void getInfo(){ System.out.println("图书名称:"+ this.title + ",价格为:"+ this.price + ",出版社为:"+ this.pub + ",描述 "+ this.description); } } public class Test { public static void main(String[] args) { // 在没有实例化对象时,就调用 System.out.println(Book.pub); // 没事实例化对象的时候,去给static属性赋值上默认值 Book.pub = "北京大学出版社"; System.out.println(Book.pub); // 新建一个类,输入 pub 属性 Book book = new Book("Java", 88); book.getInfo(); } }
コンソール出力
清华大学出版社 北京大学出版社 图书名称:Java,价格为:88.0,出版社为:北京大学出版社,描述 描述
これから、オブジェクトがインスタンス化されていない場合、静的属性はクラスを通じて直接削除でき、静的属性も変更できることがわかります。静的プロパティの宣言はクラス構造内にありますが、オブジェクトによって制御されず、独立して存在します。
静的プロパティと非静的プロパティの違い
静的プロパティと通常のプロパティ (非静的プロパティ) の最大の違いは、保存されるメモリ領域の違いにあります。 。 static によって変更されるのは、static データ領域です。ヒープやスタック上の代わりに。
静的プロパティと非静的プロパティの最大の違いは、すべての非静的プロパティはアクセスする前にインスタンス化する必要がありますが、静的プロパティはインスタンス化されたオブジェクトによって制御されないことです。 。つまり、インスタンス化されたオブジェクトを作成しなくても、静的オブジェクトを使用できます。
以上がJava での静的に変更された属性の分析 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

Spring Bootは、Java開発に革命をもたらす堅牢でスケーラブルな、生産対応のJavaアプリケーションの作成を簡素化します。 スプリングエコシステムに固有の「構成に関する慣習」アプローチは、手動のセットアップを最小化します。
