Maison  >  Article  >  Java  >  Exemple d'analyse de classes et d'objets Java

Exemple d'analyse de classes et d'objets Java

WBOY
WBOYavant
2023-04-21 11:01:07959parcourir

1. Qu'est-ce qu'une classe ? La classe (Class) est la base de l'encapsulation d'informations dans la programmation orientée objet (POO, Object-Oriented Programming). Une classe est un type de données de référence défini par l'utilisateur, également appelé type de classe. Chaque classe contient une description des données et un ensemble de fonctions pour exploiter les données ou transmettre des messages. Les instances de la classe sont appelées objets. L'essence de la classe est un type de données de référence, similaire à byte, short, int, char, long, float. , double Comme les types de données de base, la différence est qu'il s'agit d'un type de données complexe. Parce que son essence est un type de données, et non une donnée, il n'existe pas en mémoire et ne peut pas être directement manipulé. Il ne devient exploitable que lorsqu'il est instancié en tant qu'objet.

2. Similitudes et différences entre les classes Java et les structures du langage C

Nous pouvons constater que les classes en Java sont en fait très similaires aux structures du langage C, alors quelles sont les différences entre elles ?

1. Les objets empaquetés sont différents

La structure du langage C est l'empaquetage des données. Regrouper un ensemble de données conceptuellement liées pour faciliter le traitement global. Le monde extérieur peut lire et écrire ces données à volonté

Les objets Java peuvent être des packages de données ou de responsabilités

2 Les emplacements de stockage sont différents

Les structures du langage C peuvent être stockées sur la pile ou exister sur le tas

Les objets Java. ne peut exister que sur le tas

3 Classes et instanciation de classes

Les membres d'une classe peuvent inclure les éléments suivants : des champs, des méthodes, des blocs de code, des classes et des interfaces internes, etc.

peut être clairement compris comme une classe est. un modèle, et l'instanciation d'une classe consiste à créer des objets via ce modèle (un modèle peut créer d'innombrables objets)

Déclarer une classe équivaut en fait à personnaliser un nouveau type, un type référence

Déclaration d'une classe

Basique formulaire :

nom de la classe {

Champ (variable/propriété membre);

Méthode (méthode membre);
}



La classe ici est le mot-clé de la classe

Éléments de la classe : attributs (à l'intérieur du classe, en dehors de la méthode)

Méthodes dans la classe : méthodes membres

L'exemple suivant :

public class Dog {
    public String name;
    public int age;
    public void bark() {
        System.out.println("汪汪");
    }
}

Grâce au code ci-dessus, une classe de chien est créée, avec deux attributs : nom et âge, et le comportement est appelé

Le public devant la propriété est un objet instancié sans ajouter de statique

devant la méthode du modificateur d'accès

Les membres suivent les règles de valeur par défaut

Règles de valeur par défaut : déformation de 0

Spécial :

Type de référence. : null​​​​​

boolean: false

char: 'u0000' (caractère nul)

Instanciation de la classe

class Dog {
    public String name;
    public int age;
    public boolean are;
    public static int a;
    public void bark() {
        System.out.println("汪汪");
    }
}
 
public class Practice {
    public static void main(String[] args) {
        Dog dog = new Dog();   // 实例化一个对象
        System.out.println(dog.are);   // 通过.来访问
    }
}

Ici, un objet est instancié via new, et la référence de l'objet est utilisée. les variables sont utilisées pour accéder aux variables membres et les méthodes ordinaires sont accessibles via la référence de l'objet

propriétés statiques (variables membres statiques)

sont définies à l'intérieur de la classe, en dehors de la méthode, ajoutez une modification statique

.

Le code suivant :

class Dog {
    public String name;
    public int age;
    public boolean are;
    public static int a;    // 静态属性
    public void bark() {
        System.out.println("汪汪");
    }
}

Remarque : les propriétés statiques suivent toujours les règles de valeur par défaut

Comment accéder :

Vous devez savoir que les variables membres statiques n'appartiennent pas à des objets, mais à des classes, nous ne pouvons donc pas y accéder via un objet Les variables membres sont accessibles via les noms de classe. Les propriétés statiques sont accessibles via des méthodes statiques, et les méthodes statiques sont accessibles via les noms de classe

Comme suit :

System.out.println(Dog.a);

Exemple d'erreur :

System.out.println(Dog.a);

Vous n'avez pas besoin d'un objet pour accéder au statique. propriétés de la classe, vous pouvez y accéder directement

Remarque :

Les propriétés statiques existent dans la zone de méthode

  • Peu importe le nombre d'objets nouveaux, il n'y a qu'une seule copie des propriétés statiques

  • Vous Vous ne pouvez pas accéder aux valeurs des données membres non statiques à l'intérieur d'une méthode statique, et vous ne pouvez pas non plus appeler des méthodes non statiques

  • Les méthodes statiques ne dépendent pas des objets

  • Quatre méthodes de construction

  • Nous y réfléchissons d'abord. ça, comment est créé un objet ?

Allouer de la mémoire pour l'objet

  • Appeler le constructeur approprié

  • Lorsque nous utilisons new pour instancier l'objet, le constructeur sera automatiquement appelé pour terminer l'opération d'initialisation

  • Créer le constructeur

Le nom de la méthode doit être le même que le nom de la classe

  • Aucune déclaration de type de valeur de retour

  • Chaque classe a au moins un constructeur (lorsqu'elle n'est pas définie, le système génère automatiquement un constructeur sans paramètre)

  • Ce qui suit code:

    class Dog {
        public String name;
        public int age;
        public boolean are;
        public static int a;
        public Dog() {
     
        }
        public Dog(String name) {
            this.name = name;
        }
        public void bark() {
            System.out.println("汪汪");
        }
    }
     
    public class Practice {
        public static void main(String[] args) {
            Dog dog = new Dog("旺财");
            System.out.println(dog.name);
        }
    }
  • Dans ce code, il y a la classe Dog, qui a deux constructeurs, un sans paramètres et un avec paramètres Lors de la création d'un objet via new, la construction paramétrée est utilisée et vous pouvez voir les résultats imprimés

.

On peut donc voir que le constructeur appelé dépend des paramètres passés dans new

Exemple danalyse de classes et dobjets JavaRemarque :

Lorsqu'il n'y a pas de constructeur dans la classe, le système remplira automatiquement une méthode de constructeur sans paramètre, mais lorsque vous écrivez le constructeur vous-même, vous ne compenserez pas le constructeur sans argument. Si vous devez utiliser le constructeur sans argument, vous devez l'écrire manuellement. Le constructeur prend également en charge la surcharge. Dans de nombreux cas, quelqu'un peut penser à tort qu'il s'agit de l'objet actuel, mais en fait il s'agit d'une référence à l'objet actuel

Pourquoi ce n'est pas un objet, mais une référence :

Nous devons savoir que la méthode constructeur est utilisée pour créer un objet, donc pendant le processus d'appel de la méthode constructeur pour créer un objet, l'objet n'existe toujours pas. D'où vient l'idée d'un objet

Nous pouvons donc accéder aux propriétés, aux méthodes membres et aux constructeurs via cela (lors de l'appel du constructeur, il ne peut être placé que sur la première ligne, ne peut être écrit que dans le constructeur, et ne peut être utilisé qu'une seule fois)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer