/**
* Studiati codul de mai jos.
* Cum este posibil sa existe "mostenire multipla" si "mostenire
* redundanta" ?
* Cum este posibil sa se suprascrie o variabila finala ?
* De ce nu se compileaza clasa TestMostenireInterfete2 ?
* Studiati codul de mai jos.
* Cum este posibil sa existe "mostenire multipla" si "mostenire
* redundanta" ?
* Cum este posibil sa se suprascrie o variabila finala ?
* De ce nu se compileaza clasa TestMostenireInterfete2 ?
* Ce ati putea schimba pentru a permite compilarea ei ?
*/
*/
package work;
interface I1{
public static final String s = "i1";
public void met1();
}
interface I2{
public void met1();
public void met2();
}
interface I3 extends I1, I2{
public static final String s = "i3";//suprascriere camp final ?!
public void met1(); //suprascriere ?
public void met1(String s); //supraincarcare ?
public void met3();
}
interface I4 extends I1, I2, I3{} //asta le intrece pe toate !
class TestMostenireInterfete1 implements I3 {
public void met1() {
System.out.println(s);
}
public void met1(String s) {}
public void met3() {}
public void met2() {}
}
class TestMostenireInterfete2 implements I1, I3 {
public void met1() {
System.out.println(s);
}
public void met1(String s) {}
public void met3() {}
public void met2() {}
}
interface I1{
public static final String s = "i1";
public void met1();
}
interface I2{
public void met1();
public void met2();
}
interface I3 extends I1, I2{
public static final String s = "i3";//suprascriere camp final ?!
public void met1(); //suprascriere ?
public void met1(String s); //supraincarcare ?
public void met3();
}
interface I4 extends I1, I2, I3{} //asta le intrece pe toate !
class TestMostenireInterfete1 implements I3 {
public void met1() {
System.out.println(s);
}
public void met1(String s) {}
public void met3() {}
public void met2() {}
}
class TestMostenireInterfete2 implements I1, I3 {
public void met1() {
System.out.println(s);
}
public void met1(String s) {}
public void met3() {}
public void met2() {}
}
Niciun comentariu:
Trimiteți un comentariu