bonsoir à tous,
voici mon code:
la classe A
la classe B
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class A {int i=1; int f(){return i;} static char g(){return 'A';}}
le main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class B extends A {int i=2; int f() {return -i;} static char g(){return 'B';}}
les resulats sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Exe2{ public static void main (String args[]) {B b=new B(); System.out.println(b.i); System.out.println(b.f()); System.out.println(b.g()); System.out.println(B.g()); A a=b; System.out.println(a.i); System.out.println(a.f()); System.out.println(a.g()); System.out.println(A.g());}}
b.i=2
b.f()=-2
b.g()=B
B.g()=B
a.i=1
a.f()=-2
a.g()=A
A.g()=A
en ce qui concerne les résultats de b c'est ok, mais dés qu'il s'agit de A a=b, c'est la où je comprend pas trop les résultats,j'avais prévu un truc du genre:
a.i=2
a.f()=-2
a.g()=B
A.g()=A
pouvez-vous m'expliquer??
merci pr votre aide![]()
Partager