検索
ホームページJava&#&はじめるJavaの静的プロパティと動的プロパティの違い

Javaの静的プロパティと動的プロパティの違い

Nov 29, 2019 pm 02:32 PM
java動的プロパティ違い静的プロパティ

Javaの静的プロパティと動的プロパティの違い

#オブジェクトを作成せずに static を呼び出すことができるのはなぜですか?

オブジェクトが作成される前に、すべての静的プロパティまたはメソッドはメタデータ領域に配置され、静的プロパティまたはメソッドはクラス名を通じて呼び出すことができます。

例:

public class Cat{
    public static String name;//静态的,不创建对象都存在
    public String color; //动态的,不创建猫的对象不存在这个属性
}
public class Main{
    public static void main(String[] args){
        Cat c =new Cat();
        c.color = "黑色";
        c.name = "喵喵";
        Cat c1 = new Cat();
        c1.color = "蓝";
        System.out.println(c1.name); //正确 这是因为name是静态属性
    }
}

オンライン教育ビデオ共有: java 教育ビデオ

静的属性の特性: このクラスのすべてのオブジェクトがこの 1 つの属性を共有します。 、オブジェクトが作成されていなくても、この属性はまだ存在するため、この属性を変更する場合は、クラス (Cat.name = "Xiao Meow") を通じて変更するだけです。

動的属性は、作成されたオブジェクトにのみ存在します。作成のみ オブジェクトのこのプロパティは存在します。

静的プロパティと動的プロパティの違い:

オブジェクトはスタックを通じて見つかるため、メタデータ領域のコンテンツを呼び出すことができますか? ——はい

では、ヒープ内のコンテンツはクラスを通じて呼び出すことができるのでしょうか? ——いえ、この過程には確実性と不確実性の問題があるからです。

オブジェクトは動的であるため、クラスを通じてメタデータ領域のコンテンツを呼び出します。静的なものを呼び出すと、呼び出し時に静的なものが存在する必要があり、静的なものはオブジェクトが存在する前に存在することが保証されます。静的 ヒープ内で動的なものを呼び出す場合、その動的ものが存在する必要があるかどうかはわかりません。

つまり、動的なものは静的なものを呼び出すことができますが、静的なものは動的なものを呼び出すことはできません。

public class Cat{
    public static String name;//静态的,不创建对象都存在
    public String color; //动态的,不创建猫的对象不存在这个属性
    public Cat(){
        
    }
    public void foo(){
        color = "黑";//正确
        name = "喵喵";//正确,一定可以调用静态的
        
    }
    public static void test(){
        color = "黑"; //错误,静态方法无法调用动态的属性
        name = "小喵";//正确
        foo();//动态的不一定存在
        Cat c = new Cat();
        c.foo(); //这时再能调用
    }
}

その他の関連記事やチュートリアルについては、次のサイトをご覧ください: Java 入門学習

以上がJavaの静的プロパティと動的プロパティの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター