検索
ホームページJava&#&チュートリアルJava コンストラクター: Void コンストラクターと非 Void コンストラクターの違いは何ですか?

Java Constructors: What's the Difference Between Void and Non-Void Constructors?

Java のコンストラクター: "Void" と "非 Void"

Java プログラミング言語では、クラスにコンストラクターを含めることができます。は、クラスのインスタンスの作成時に呼び出される特別なメソッドです。コンストラクターは、オブジェクトの状態を初期化するために機能します。コンストラクターには、「void」コンストラクターと「non-void」コンストラクターの 2 種類があります。

「Non-Void」コンストラクター

「non-void」コンストラクターvoid 以外の戻り値の型を宣言しています。言い換えれば、値 (通常はクラス自体のインスタンス) を返します。 「非 void」コンストラクターが呼び出されると、新しいオブジェクトが作成され、戻り値がコンストラクターを呼び出した参照変数に割り当てられます。

「Void」コンストラクター

一方、

「Void」コンストラクターは戻り値の型を宣言しません。代わりに、コンストラクター本体を実行してオブジェクトの状態を初期化するだけです。これらは値を返さないため、新しいオブジェクトの作成には使用できません。

コンストラクターの可視性の問題

Java では、コンストラクターには、コンストラクターと同じアクセス修飾子がありません。メソッド。コンストラクターの可視性は、クラス自体の可視性と一致する必要があります。たとえば、クラスが public として宣言されている場合、そのコンストラクターも public として宣言する必要があります。

例: コンストラクターの可視性への影響

次の 2 つのコード スニペットを考えてみましょう。

例 1: Return を含むコンストラクターType

public class Class1 {
    public static Integer value = 0;
    public Class1() { da(); }
    public int da() {
        Class1.value += 1;
        return 5;
    }
    public static void main(String[] args) {
        Class1 h = new Class1();
        Class1 h2 = new Class1();
        System.out.println(Class1.value);
    }
}

例 2: Void 戻り値の型を持つコンストラクター

public class Class1 {
    public static Integer value = 0;
    public void Class1() { da(); }
    public int da() {
        Class1.value += 1;
        return 5;
    }
    public static void main(String[] args) {
        Class1 h = new Class1();
        Class1 h2 = new Class1();
        System.out.println(Class1.value);
    }
}

観察:

例 1 では、出力は 2 です。これは、コンストラクターがda() メソッド。値フィールドを 1 ずつインクリメントします。

ただし、例 2 では、出力は 0 です。これは、戻り値の型が void のコンストラクターが実際には da() メソッドを呼び出していないためです。代わりに、これはクラスと同じ名前のメソッドであり、コンストラクターとは異なります。

結論:

Java では、コンストラクターはメソッドではありません。これらはオブジェクトの状態を初期化するために使用され、戻り値の型はありません。 void 以外の戻り値の型でコンストラクターを宣言しようとすると、コンパイル エラーが発生します。

以上がJava コンストラクター: Void コンストラクターと非 Void コンストラクターの違いは何ですか?の詳細内容です。詳細については、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ヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

Safe Exam Browser

Safe Exam Browser

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール