/*--------------------------------- Curs 1-2-3 ---------------------------------*/ //EX 1 //interface Hidden { // int value(); //} //class Outer { // int val = 1; // public Hidden getHiddenInstance() { // int i = 7; // class FuncInner implements Hidden { // private int j = 11; // public int value() { // val++; // i++; // return val + i + j; // } // } // return new FuncInner(); // } //} // CORECTAT: //interface Hidden { // int value(); //} //class Outer { // int val = 1; // public Hidden getHiddenInstance() { // final int i = 7; // class FuncInner implements Hidden { // private int j = 11; // public int value() { // val++; // return val + i + j; // } // } // return new FuncInner(); // } //} //Ex 4 //RASPUNS : In Base.staticMethod(), In Derived.instanceMethod() //class Base { // public static void staticMethod(Base bObj) { // System.out.println("In Base.staticMethod()"); // bObj.instanceMethod(); // } // public void instanceMethod() { // System.out.println("In Base.instanceMethod()"); // } //} //class Derived extends Base { // public static void staticMethod(Base bObj) { // System.out.println("In Derived.staticMethod()"); // bObj.instanceMethod(); // } // public void instanceMethod() { // System.out.println("In Derived.instanceMethod()"); // } //} //public class Main { // public static void main(String []args) { // Base bObj = new Derived(); // bObj.staticMethod(bObj); // } //} //EX 6 //RASPUN:Pizza1 11.0, Pizza1 11.0 //class Pizza{ // double pret; // String denumire; // public Pizza(){ // pret = 0; // denumire = "Pizza0"; // } // public Pizza(double pret, String denumire) { // this.pret = pret; // this.denumire = denumire; // } // public void initPizza(Pizza p,double pret,String d){ // p = new Pizza(); // p.setDenumire(d); // p.setPret(pret); // } // public void setPret(double pret) { // this.pret = pret; // } // public void setDenumire(String denumire) { // this.denumire = denumire; // } // @Override // public String toString() { // return denumire+" "+pret; // } // public static void main(String[] args){ // Pizza p = new Pizza(11, "Pizza1"); // System.out.println(p); // p.initPizza(p, 15, "Pizza5"); // System.out.println(p); // } //} //EX 7 //RASPUNS: AABAA ; daca se transforma functionA in public AABAAA //class ClassA //{ // private void functionA(){ // System.out.print("A"); // } // public void functionA2(){ // System.out.print("AA"); // } //} //class ClassB extends ClassA //{ // public void functionB(){ // ClassA a = new ClassA(); // System.out.print("B"); // } //} //class ClassC extends ClassA { // public static void main(String[] args){ // ClassA a = new ClassA(); // ClassB b = new ClassB(); // a.functionA2(); // b.functionB(); // b.functionA2(); // //a.functionA(); // } //} //EX8 //RASPUNS: u2 nu poate fi istantat... Animal e abstract, se elimina u2 si printul asociat si se afiseaza: roz, albastru //interface Animal { // public Integer getVarsta(); // public String getCuloare(); //} // //class Unicorn implements Animal { // private Integer varsta; // private String culoare; // public Unicorn(Integer varsta, String culoare) // { // this.culoare=culoare; // this.varsta=varsta; // } // @Override // public Integer getVarsta() { // return this.varsta; // } // @Override // public String getCuloare() { // return this.culoare; // } //} //class Main{ // public static void main(String[] args){ // Unicorn u = new Unicorn(3,"roz"); // //Unicorn u2 = new Animal(1,"mov"); // Animal a = new Unicorn(2,"albastru"); // System.out.println(u.getCuloare()); // System.out.println(a.getCuloare()); // //System.out.println(u2.getCuloare()); // } //} /*--------------------------------- Curs 2-5-8 ---------------------------------*/ //EX 0 //RASPUNS: super(...) se apeleaza mereu primul; nu se poate initializa ClasaDerivata = ClasaPrimitiva; trebuie facut cast la p3 = (Student) p1 //RASPUNS: dupa modificari: Student,Persoana,Student,Persoana //class Persoana { // public String nume; // public Persoana(String nume) { // this.nume = "Persoana"; // } //} //class Student extends Persoana { // private String facultate; // Student(String nume, String facultate) { // this.nume = "Student"; // super(nume); // EROARE: super(nume) trebuie apelat primul // this.facultate = facultate; // } //} //class Main{ // public static void main(String[] args){ // Persoana p1 = new Student("Marcel", "UBB"); // Student p2 = new Persoana("Matei"); // EROARE. Solutie: Persoana p2 = ... // Student p3 = p1; // EROARE. Solutie: p3 = (Persoana) p1 // Persoana p4 = p2; // System.out.println(p1.nume); // System.out.println(p2.nume); // System.out.println(p3.nume); // System.out.println(p4.nume); // } //} // //CORECTAT: // //class Persoana { // public String nume; // public Persoana(String nume) { // this.nume = "Persoana"; // } //} //class Student extends Persoana { // private String facultate; // Student(String nume, String facultate) { // super(nume); // this.nume = "Student"; // this.facultate = facultate; // } //} //class Main{ // public static void main(String[] args){ // Persoana p1 = new Student("Marcel", "UBB"); // Persoana p2 = new Persoana("Matei"); // Student p3 = (Student) p1; // Persoana p4 = p2; // System.out.println(p1.nume); // System.out.println(p2.nume); // System.out.println(p3.nume); // System.out.println(p4.nume); // } //} //EX 2 //RASPUNS: raspunsul este 20 si nu pentru ca nu ai sti matematica, =+ este echivalentul lui VARIABILA = +10... adica unei variabile //RASPUNS: i se atribuie valoarea pozitiva 10... (CAT DE CRETINE SUNT GRILELE ASTEA?) //class ClassA { // private int i = 5; // protected class ClassB{ // private int i = 7; // public ClassB() { // i =+ 4 * ClassA.this.i; // System.out.println(i); // } // } //} //public class Main { // public static void main(String[] args) { // ClassA a = new ClassA(); // ClassA.ClassB b = a.new ClassB(); // } //}