Ce poate provoca mai multă confuzie decât refolosirea unor nume de variabile ? Studiați exemplul următor și vă veți convinge.
/**
* Ce se afiseaza la consola prin rularea functiei main() ?
* Explicati ce se intampla la fiecare pas.
* Ce concluzii trageti?
*/
package work;
class ClasaExterna {
private int i;
class ClasaInterna1 {
ClasaInterna1(int i){
i = i;
}
}
class ClasaInterna2 {
ClasaInterna2(int j){
i = j;
}
}
class ClasaInterna3 {
private int i;
ClasaInterna3(int k){
i = k;
this.i = k;
}
}
public int getI(){
return i;
}
}
public class TestClaseInterne1{
public static void main (String [] args){
ClasaExterna ce = new ClasaExterna();
ce.new ClasaInterna1(3);
System.out.println(ce.getI());
ce.new ClasaInterna2(4);
System.out.println(ce.getI());
ce.new ClasaInterna3(5);
System.out.println(ce.getI());
}
}
* Ce se afiseaza la consola prin rularea functiei main() ?
* Explicati ce se intampla la fiecare pas.
* Ce concluzii trageti?
*/
package work;
class ClasaExterna {
private int i;
class ClasaInterna1 {
ClasaInterna1(int i){
i = i;
}
}
class ClasaInterna2 {
ClasaInterna2(int j){
i = j;
}
}
class ClasaInterna3 {
private int i;
ClasaInterna3(int k){
i = k;
this.i = k;
}
}
public int getI(){
return i;
}
}
public class TestClaseInterne1{
public static void main (String [] args){
ClasaExterna ce = new ClasaExterna();
ce.new ClasaInterna1(3);
System.out.println(ce.getI());
ce.new ClasaInterna2(4);
System.out.println(ce.getI());
ce.new ClasaInterna3(5);
System.out.println(ce.getI());
}
}