Bonjour , j’ai un problème avec mes classes*.
En fait je crée une classe abstraite qui est heritée par d’autres classes filles

fichier Forme.java
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
//Ça c’est la classe que j’ai créée, elle se trouve dans le package du projet (c’est-à-dire dans le main)
 
package abstraction;
 
 public abstract class Forme {
 
 
    public abstract float surface();
    public abstract float perimetre();
 
    class Cercle extends Forme{
 
        protected float rayon= 0;
 
        public Cercle() {
        }
 
        public Cercle(float r) {
            rayon= r;
        }
 
        public float getRayon() {
            return rayon;
        }
 
        public void setRayon(int r) {
            rayon = r;
        }
 
        public float surface(){
            return (float) (rayon*rayon*3.14);
 
        }
 
        public float perimetre(){
            return  (float) (2*3.14*rayon);
        }
    }
 
 
    public class Quadrilatere extends Forme{
       protected float width=0;
       protected float height= 0;
 
        public Quadrilatere() {
        }
 
        public Quadrilatere(float longueur, float largeur){
 
            width=longueur;
            height= largeur; 
 
        }
 
        public float getWidth() {
            return width;
        }
 
        public float getHeight() {
            return height;
        }
 
        public void setWidth(float width) {
            this.width = width;
        }
 
        public void setHeight(float height) {
            this.height = height;
        }
 
        public float surface(){
            return (float) (height*width);
 
        }
 
        public float perimetre(){
            return  (float) (2*(height*width));
        }
 
 
    }
 
}
fichier Abstraction.java le main en fait

puis dans le main
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
 
package abstraction;
 
 
import abstraction.Forme.Cercle;  //instanciation
import abstraction.Forme.Quadrilatere ;   //instanciation
 
 
public class Abstraction {
 
    public static void main(String[] args) {
 
          Cercle disque = new Cercle();
          Quadrilatere carre= new Quadrilatere();
             }
 
}

Le problème ici c’est quand je compile j’ai cette erreur que je ne comprends pas*.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - an enclosing instance that contains abstraction.Forme.Quadrilatere is required
	at abstraction.Abstraction.main(Abstraction.java:25)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - an enclosing instance that contains abstraction.Forme.Cercle is required
	at abstraction.Abstraction.main(Abstraction.java:24)