ci-dessous sont quelques exemples de modificateurs d'accès java. Je ne peux pas comprendre clairement les réponses lorsque les classes ont des attributs dont le type est d'autres classes.Modificateur d'accès java - visibilité des attributs dont le type est autre classe. pourquoi est-ce visible ou pas?
package packageX;
import packageY.*;
public class A {
public int x;
private int y;
protected int z;
public A objA;
public C objC;
void test(){
System.out.println(x);
System.out.println(y);
System.out.println(z);
System.out.println(objA.x);
System.out.println(objA.y);
System.out.println(objA.z);
System.out.println(objC.x);
System.out.println(objC.y);//not visible
System.out.println(objC.z);//?? why visible?
}
}
class B{
public A objA;
public C objC;
void test(){
System.out.println(x);//not visible
System.out.println(y);//not visible
System.out.println(z);//not visible
System.out.println(objA.x);
System.out.println(objA.y);//not visible
System.out.println(objA.z);
System.out.println(objC.x);
System.out.println(objC.y);//not visible
System.out.println(objC.z);//?? why visible?
}
}
package packageY;
import packageX.*;
public class C extends A{
public A objA;
public C objC;
void test(){
System.out.println(x);
System.out.println(y);//not visible
System.out.println(z);
System.out.println(objA.x);
System.out.println(objA.y);//not visible
System.out.println(objA.z);//not visible//??? why not visible?
System.out.println(objC.x);
System.out.println(objC.y);//not visible//??? why visible?
System.out.println(objC.z);
}
}
class D{
public A objA;
public C objC;
void test(){
System.out.println(x);//not visible
System.out.println(y);//not visible
System.out.println(z);//not visible
System.out.println(objA.x);
System.out.println(objA.y);//not visible
System.out.println(objA.z);//not visible
System.out.println(objC.x);
System.out.println(objC.y);//not visible
System.out.println(objC.z);//not visible//??? why not visible
}
}
Je ne peux pas comprendre quelques lignes avec // ??? pouvez-vous expier pourquoi les attributs sont visibles ou non?
Veuillez envoyer tout le code pertinent au format texte plutôt qu'à une image. – biziclop
S'il vous plaît également afficher toutes les classes pertinentes (c'est-à-dire: 'A') – Berger