Chapter 4 Flashcards
Quel est l’ordre de déclaration d’une méthode ?
Access Modifiers (public, protected, private, default (package private) (non keyword)
Optional specifiers (static, abstract, final, synchronized, native, strictfp)
Return type
Method name (letters, numbers, $, _)
Parameter list
Optional exception list
Method body
On importe comment et quoi avec les statics import ?
On importe les statics member pas les classes !
import static java.uyil.Arrays
Qu’est ce qu’on a le droit de changer quand on overload une méthode ?
On doit changer le parameter list.
On a le droit de changer le return type seulement si on change le parameter list
Deux méthodes avec le même parameter list dans la même classe, ne compile pas !
Peut on call une méthode avec un enfant de paramètres ?
Oui,
public void fly(Object o)
fly(10); // work
L’ordre d’initialisation ? Dans quel cas elle s’applique ? Quels sont les autres cas ?
1 - Initialize the superclass
2 - static variable déclaration and static initializers in the order
3 - instance variable déclaration and instance initializers in the order
4 - the constructor
Les 4 règles s’appliquent dans le cas où on a un new (nouvelle instance)
Les 2 premières règles se fait si on fais référence à la classe (on appel une méthode static)
Qu’est ce qu’une encasulating data class ?
C’est une classe qui ne possède que des fields privé et qu’o n’a que des méthodes pour les accéder ou modifier
Comment accéder à une static method ?
- avec Class.methode()
- depuis une référence du type ou sous-type de la classe même si elle a une valeur null
Si j’ai :
public void fly(int [] lengths) {}
public void fly(int… lengths) {}
Dans la même classe, est ce que ça compile ?
Non car les varargs sont considérés comme des tableaux pour Java et on a pas le droit de overload avec la même signature
Quand est ce qu’on peut initialiser une final ? Et combien de fois ?
On peut initialiser une final dans :
- à la déclaration
- dans un initializer
- dans un constructeur
Une seule fois !