Partage de technologie

Deux questions d'entretien Java par jour (1)

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. La différence et le lien entre ce mot-clé et le super mot-clé

Le mot clé this est utilisé dans cette classe.

Dans une classe, vous pouvez l'utiliser dans n'importe quelle méthode pour faire référence à l'objet actuel.

Le mot-clé this est utilisé pour résoudre les conflits entre les variables globales et les variables locales.

this() peut appeler des constructeurs surchargés de la même classe et doit être placé sur la première ligne.

Le super mot-clé est utilisé dans les sous-classes.

Dans les sous-classes, les méthodes et propriétés des classes parentes peuvent être appelées via super.

super() peut appeler le constructeur dans la classe parent et doit être placé sur la première ligne.

super() et this() ne peuvent pas être utilisés en même temps, et ni l’un ni l’autre ne peuvent être utilisés dans une méthode statique.

2. La différence entre le mot-clé final et le mot-clé statique

final modifie les variables, les méthodes, les classes

Si final modifie une variable, la variable est une constante. Les constantes ne peuvent pas être modifiées et doivent être initialisées une fois définies.

Si la méthode est finale, elle ne peut pas être remplacée par les sous-classes

Si final modifie une classe, la classe ne peut plus être étendue ou sous-classée. String et Math dans la bibliothèque de classes Java sont des classes finales.

constante de type de référence modifiée finale

Si la constante est un type de données de base, elle ne peut pas être modifiée.

Si la constante est un type référence, d'autres objets ne peuvent pas être affectés à la référence, mais la référence peut être utilisée pour modifier les propriétés à l'intérieur de l'objet.

Les variables modifiées par static sont des variables statiques, qui sont essentiellement des variables globales. Toutes les instances de la classe partagent les mêmes variables statiques. Par conséquent, après avoir modifié la valeur d'une variable statique via un objet, la variable statique accessible via d'autres objets de la classe a la valeur modifiée. Lorsque la classe est chargée par la machine virtuelle, les variables statiques sont initialisées et les variables statiques peuvent être utilisées sans créer d'objet de la classe.

Les méthodes modifiées par static sont des méthodes statiques. Elles ne peuvent appeler directement d'autres méthodes statiques, ne peuvent accéder directement qu'aux données statiques et ne peuvent en aucun cas référencer les mots-clés this ou super.

Le bloc de code modifié par static est un bloc de code statique, qui n'est exécuté qu'une seule fois et est exécuté lorsque la classe est chargée. Sa fonction est d'initialiser statiquement les données.