À propos de l'héritage (Java Silver)

Pour l'acquisition de Java Silver, je résumerai les parties qui ne sont pas bien comprises dans les bases de Java.

Héritage

Je pense que je comprends le concept d'héritage lui-même. Personnellement, je pense que c'est plus facile à comprendre si vous l'exprimez comme une extension de la fonction plutôt que comme une héritage. L'image d'une sous-classe est que la superclasse a un degré d'abstraction plus élevé et moins de fonctions, et des fonctions plus spécifiques ont été ajoutées pour en faire une superclasse + α (extension).

・ Super classe

SuperA.java


class SuperA {}

-Sous-classe qui hérite de la super classe

SubA.java


class SubA extends SuperA {}

Choses impossibles

--Plusieurs superclasses ne peuvent pas être spécifiées après étend.

SubA.java


class SubA extends SuperA, SuperB {}

Les membres définis dans la superclasse peuvent être utilisés dans la sous-classe, mais les membres privés ne peuvent être utilisés qu'à partir de la même classe, ils ne peuvent donc pas être utilisés dans la sous-classe.

Par exemple, si vous souhaitez remplacer une méthode qui spécifie public dans une superclasse, vous devez spécifier public. (La plage de divulgation ne peut pas être réduite.)

・ Gamme publique de modificateurs d'accès

large étroit
public protected Défaut private
Accessible depuis n'importe quelle classe Sous-classe ou même package Même paquet Même classe seulement

Conversion de type de type de référence

Il existe les deux types suivants de conversion de type dans la superclasse et la sous-classe.

En d'autres termes, est-ce une image que la conversion de type implicite peut être effectuée si les fonctions qui peuvent être utilisées après la conversion ne sont pas réduites?

Autre

--Membres appelés lors du remplacement

Lorsqu'un objet de sous-classe est affecté à une variable de type superclasse, les membres de la superclasse sont appelés à l'exception de la méthode d'instance.

Recommended Posts

À propos de l'héritage (Java Silver)
À propos de l'héritage Java
Résumer l'héritage Java (Java Silver 8)
[Java Silver] À propos de l'initialisation
À propos de l'héritage
[Java] Héritage
Héritage Java
[Java Silver] À propos de la méthode equals
Héritage Java
java (héritage)
À propos de l'interface Java
Mémo Java Silver
[Java] À propos des tableaux
À propos de l'héritage de classe.
Quelque chose à propos de java
Où est Java
À propos des fonctionnalités Java
À propos de l'héritage Ruby
À propos des threads Java
Interface [Java]
À propos de la classe Java
À propos des tableaux Java
À propos de l'interface, interface java
Étudier Java Silver 1
À propos de Java Var
À propos de Java Literal
À propos des commandes Java
À propos de la sortie du journal Java
À propos de l'interface fonctionnelle Java
[Java] Surcharge / Remplacer / Héritage
Java, à propos d'un tableau à deux dimensions
Java SE8 Silver réussi
À propos de la division de classe (Java)
java bronze argent passé
À propos de [Java] [StreamAPI] allMatch ()
À propos de la classe Java StringBuilder
[Java] À propos de la classe Singleton
Journée d'étude Java Silver 1
Expérience de passage Java Silver
[Java] À propos des classes anonymes
A propos des méthodes de fractionnement (Java)
[java] Java SE 8 Silver Note
A propos de la liste des baies Java
À propos du polymorphisme Java Super ()
À propos de la classe Java String
À propos des modificateurs d'accès Java
À propos de l'encapsulation et de l'héritage
À propos des expressions Java lambda
À propos des points d'entrée Java
Prise en charge de Java 10 Docker
Résumé personnel sur Java
Un mémorandum de l'examen Java8 Silver
Tout sur la programmation Java
[Java] Mémo d'héritage implicite
Mémo d'apprentissage Java (héritage)
À propos de la classe abstraite de Java
[Java Silver] (Gestion des exceptions) À propos des instructions try-catch-finally et try-with-resource
Remarques sur Java GC
Résumé d'héritage avancé, interface -java