joi, 15 iulie 2010

Ce poate conține o interfață (2)

/**
 * Ce se poate pune intr-o interfata?
 * (este important sa aveti imaginatie bogata)
 * Cum s-ar putea folosi aceasta "facilitate" de limbaj ?
 */
package work;
public interface InterfataCuprinzatoare{
//mai intai, chestii standard
    int i=5; // implicit, este si "public static final"
    public void metodaBuna(Object... parametri);
//  public static void metStatica(){};//nu metode statice
//  public InterfataCuprinzatoare(){};//nu constructori

//si acum incepem sa improvizam   
    public InterfataCuprinzatoare obiect = null;
    static enum Enum1 {VAL1("valoare 1"), VAL2("valoare 2");
        Enum1 (String nume){
            this.nume = nume;
        }
        private String nume;
        public String toString(){
            return this.nume;
        }
    }   
    enum Enum2 implements InterfataCuprinzatoare{V1, V2, V3;
        public void metodaBuna(Object... parametri) {
            System.out.println(parametri);           
        }
    }   
    static class Cls1{
        private String nume;       
        public Cls1(){
            System.out.println("Un nou obiect Cls1");
        }       
        Cls1(String nume){
            this();
            this.nume = nume;
        }       
    }
    abstract class Cls2{
        abstract double calcul(double d1, double d2);
    }
    final class Cls3{
        static{
            System.out.println("bloc static din clasa finala Cls3 din interfata InterfataCuprinzatoare");
        }
    }   
    class Cls4 extends Cls2 {
        double calcul(double d1, double d2) {
            return d1+d2;
        }
    }   
    class Cls5 implements InterfataCuprinzatoare{
        public void metodaBuna(Object... parametri) {
            //niste cod
        }
    }   
    interface Int1{
        char met1();
    }
    interface Int2 extends InterfataCuprinzatoare{}
   
    //etc...
}

Niciun comentariu:

Trimiteți un comentariu