Bonjour!
Je cherche à améliorer certaines de mes compétences par thèmes et j'étudie aujourd'hui l'affectation et les classes internes.
J'ai un code ou sont présentes des classes Vehicule et des classes Tourisme qui sont des sous classes de la classes Transport. La classe Véhicule a la classes interne Moteur et Carrosserie. La classe Moteur a un constructeur et la classe Carosserie (l'erreur d’orthographe est originale) n'en a pas.
Après avoir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public class CC15Ex3 { public static void main(String[] args){ Vehicule t1 = new Tourisme(10,90); } } class Transport{ int no; int annee; } class Vehicule extends Transport{ int puissance; String couleur; public String toString(){ return "Vehicule no " + no +" puissance "+puissance; } Moteur mot; static class Moteur{ static int annee; int no; int kilometrage; static int noC=100; static int puissance =90; Moteur(){ } public String toString(){return "Moteur no" + no+" km "+ kilometrage+ "puiss" + puissance +" année "+ annee;} } class Carosserie{ String couleur; } } class Tourisme extends Vehicule{ String marque; Tourisme(int n, int p){ no=n; } }
- créé uns instance de Moteur m1
- une instance Carrosserie de c1 (que j'ai instancié en Carosserie pour suivre le code donné).
Je cherche désormais à
- affecter la valeur 100 à no de m1
- affecter le numéro m1 au numéro de t1
- affecter 2015 à l'attribut annee de Mteur
- affecter à t1 la puissance de m1
J'ai donc fait
Mais il semblerait que ce soit un peu plus compliqué que cela... En effet j'obtiens sur Ideone.com:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class CC15Ex3 { public static void main(String[] args){ Moteur m1 = new Vehicule.Moteur(); Vehicule t1 = new Tourisme(10,90); Carrosserie c1= t1.Carosserie; m1.no = 100; t1.no=m1.no; m1.annee = 2015; t1.puissance = m1.puissance; } } }
Main.java:1: error: class CC15Ex3 is public, should be declared in a file named CC15Ex3.java
public class CC15Ex3 {
^
Main.java:3: error: cannot find symbol
Moteur m1 = new Vehicule.Moteur();
^
symbol: class Moteur
location: class CC15Ex3
Main.java:5: error: cannot find symbol
Carrosserie c1= t1.Carosserie;
^
symbol: class Carrosserie
location: class CC15Ex3
Main.java:5: error: cannot find symbol
Carrosserie c1= t1.Carosserie;
^
symbol: variable Carosserie
location: variable t1 of type Vehicule
4 errors
Partager