Maison Java Javacommencer La différence entre les propriétés statiques et les propriétés dynamiques en Java

La différence entre les propriétés statiques et les propriétés dynamiques en Java

Nov 29, 2019 pm 02:32 PM
java Propriétés dynamiques 区别 静态属性

La différence entre les propriétés statiques et les propriétés dynamiques en Java

Pourquoi static peut-il être appelé sans créer d'objet ?

Avant la création de l'objet, toutes les propriétés ou méthodes statiques sont placées dans la zone de métadonnées, et les propriétés statiques peuvent être appelées via le nom de la classe.

Par exemple :

public class Cat{
    public static String name;//静态的,不创建对象都存在
    public String color; //动态的,不创建猫的对象不存在这个属性
}
Copier après la connexion
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是静态属性
    }
}
Copier après la connexion

Partage de vidéos pédagogiques en ligne : Vidéo pédagogique Java

Caractéristiques des propriétés statiques : Tous les objets de cette classe partagent celui-ci Attribut , cet attribut existe toujours si l'objet n'est pas créé, donc lors de la modification de cet attribut, il suffit de le modifier via la classe (Cat.name = "小猫")

Les attributs dynamiques n'existent que dans l'objet créé, et créer uniquement Cette propriété de l'objet existe.

La différence entre les propriétés statiques et les propriétés dynamiques :

L'objet peut être trouvé via la pile, peut-il donc appeler le contenu dans la zone de métadonnées ? ——Oui

Alors, le contenu du tas peut-il être appelé via une classe ? ——Non, car il y a un problème de certitude et d'incertitude dans ce processus.

Appelez le contenu de la zone de métadonnées via la classe. Étant donné que l'objet est dynamique, l'appel d'éléments statiques peut garantir que les éléments statiques doivent exister lors de l'appel. static Lorsque vous appelez quelque chose de dynamique dans le tas, il n'est pas certain que l'objet dynamique doive exister.

Ainsi, le dynamique peut appeler le statique, mais le statique ne peut pas appeler le dynamique.

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(); //这时再能调用
    }
}
Copier après la connexion

Pour plus d'articles et de didacticiels connexes, veuillez visiter : Commencer à apprendre Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Deepseek Quelle est la différence entre la version R1 et V3 Deepseek Quelle est la différence entre la version R1 et V3 Feb 19, 2025 pm 03:24 PM

Deepseek Quelle est la différence entre la version R1 et V3

Bitcoin a-t-il des actions? Bitcoin a-t-il des actions? Mar 03, 2025 pm 06:42 PM

Bitcoin a-t-il des actions?

Résumé des FAQ pour une utilisation profonde Résumé des FAQ pour une utilisation profonde Feb 19, 2025 pm 03:45 PM

Résumé des FAQ pour une utilisation profonde

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Break or Return of Java 8 Stream Forach?

Quelle est la différence entre le trading pré-commercial et après-marché? Explication détaillée des différences entre le pré-commercialisation et le trading après le marché Quelle est la différence entre le trading pré-commercial et après-marché? Explication détaillée des différences entre le pré-commercialisation et le trading après le marché Mar 03, 2025 pm 11:54 PM

Quelle est la différence entre le trading pré-commercial et après-marché? Explication détaillée des différences entre le pré-commercialisation et le trading après le marché

Pourquoi Bittensor est-il le 'Bitcoin' sur la piste AI? Pourquoi Bittensor est-il le 'Bitcoin' sur la piste AI? Mar 04, 2025 pm 04:06 PM

Pourquoi Bittensor est-il le 'Bitcoin' sur la piste AI?

Y a-t-il une différence entre le bitcoin sud-coréen et le bitcoin domestique? Y a-t-il une différence entre le bitcoin sud-coréen et le bitcoin domestique? Mar 05, 2025 pm 06:51 PM

Y a-t-il une différence entre le bitcoin sud-coréen et le bitcoin domestique?

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Programme Java pour trouver le volume de la capsule

See all articles