この記事では、まずインスタンス変数初期化子、インスタンス初期化子、静的初期化子とは何かを説明する例を示します。次に、インスタンス初期化子がどのように動作するかを見てみましょう。
1. 実行順序
まず、次のコードを見てください。どの部分が最初に実行されると思いますか?
public class Foo { //instance variable initializer 实例变量初始化器 String s = "abc"; //constructor 构造函数 public Foo() { System.out.println("constructor called"); } //static initializer 静态初始化器 static { System.out.println("static initializer called"); } //instance initializer 实例变量初始化器 { System.out.println("instance initializer called"); } public static void main(String[] args) { new Foo(); new Foo(); } }
出力は次のとおりです:
static initializer called instance initializer called constructor called instance initializer called constructor called
2. Java のインスタンス初期化子はどのように機能しますか?
上記の例のインスタンス初期化子には、文字を出力するコードが含まれています。仕組みを理解するには、変数の代入のプロセスをイメージすると理解するのは難しくありません。
次のように値を割り当てることに加えて:
int b = 0;
、次のように書くこともできます:
int b; b = 0;
したがって、インスタンス初期化子とインスタンス変数初期化子は非常に似ています。
3. インスタンス初期化子はいつ使用されますか?
強度初期化子が使用できる機会は比較的少ないです。ただし、場合によっては、インスタンス変数初期化子の代わりに、次のような代替手段が存在することがあります。
初期化コードは例外を処理する必要がある
インスタンス変数では実行できない計算を実行する
もちろん、これらは要件は依然としてコンストラクターで実装できます。ただし、クラスに複数のコンストラクターがある場合は、各コンストラクターで同じコードを繰り返す必要があります。
インスタンス初期化子に書かれたコードは、どのコンストラクターを使用しても、インスタンス初期化子内のコードが実行されます (もっと言うかもしれませんが、あまり使われないかもしれません)。
インスタンス初期化子のもう 1 つのアプリケーション シナリオは、匿名の内部クラスです。この場合、コンストラクターをまったく作成できないためです。 (これはログ コードを配置するのに適した場所かもしれません。)
上記は Java のインスタンス初期化子の内容に関するもので、さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック



