// Main.javapublicclassMain{publicstaticvoidmain(String[]args){SecurityLevelnetworkSecurity=SecurityLevel.MEDIUM;// comparing enum itemsSystem.out.println(networkSecurity==SecurityLevel.HIGH);// falseSystem.out.println(networkSecurity.compareTo(SecurityLevel.LOW));// 1System.out.println(networkSecurity.compareTo(SecurityLevel.MEDIUM));// 0System.out.println(networkSecurity.compareTo(SecurityLevel.HIGH));// -1// print all possible valuesfor(SecurityLevelvalue:SecurityLevel.values()){System.out.println(value.ordinal()+" "+value.name()+" "+value);}switch(networkSecurity){caseLOW:System.out.println("The network security MUST be increased!");break;caseMEDIUM:System.out.println("The network security needs improvements");break;caseHIGH:System.out.println("The network security is good so far");break;}}}
Generics
// Main.javapublicclassMain/*extends Language implements Regex*/{publicstaticvoidmain(String[]args){SaveState<String>stateFirst=newSaveState<String>("Begin of the story");SaveState<String>stateSecond=newSaveState<String>("Near last boss fight");System.out.println(stateFirst);System.out.println(stateSecond);System.out.println("second state bigger? "+stateSecond.compareTo(stateFirst));System.out.println("first state bigger? "+stateFirst.compareTo(stateSecond));stateFirst.setSaveState("Finished tutorial");System.out.println(stateFirst.getSaveState());}}
// SaveState.javaimportjava.security.InvalidParameterException;publicclassSaveState<T>implementsComparable<SaveState>{privateTsaveEntry;privateintsaveID=0;privatestaticintstaticSaveID;// constructorSaveState(TsaveEntry)throwsInvalidParameterException{if(saveEntry==null)thrownewInvalidParameterException("entry shall not be null");this.saveEntry=saveEntry;this.saveID=staticSaveID;staticSaveID++;}publicintgetSaveID(){returnthis.saveID;}publicTgetSaveState(){returnthis.saveEntry;}publicvoidsetSaveState(TsaveEntry)throwsInvalidParameterException{if(saveEntry==null)thrownewInvalidParameterException("entry shall not be null");this.saveEntry=saveEntry;}@OverridepublicStringtoString(){try{returnthis.saveID+": "+this.saveEntry.toString();}catch(Exceptionexception){System.out.println("T.toString() for Class "+saveEntry.getClass()+" does not exist");returnnull;}}@OverridepublicintcompareTo(SaveStateobject){if(this.saveID>object.getSaveID()){return1;}if(this.saveID<object.getSaveID()){return-1;}return0;}}
// Main.javaabstractclassLanguage{publicvoidshowLanguage(){System.out.println("This text is presented to you by Java");}publicabstractvoidsayHelloWorld();}// Main.javapublicclassMainextendsLanguageimplementsRegex{publicstaticvoidmain(String[]args){// Language myLanguage = new Language();// 'Language' is abstract; cannot be instantiatedMainmyObject=newMain();myObject.sayHelloWorld();Stringwortwitz=myObject.concatStrings("du","schlampe");System.out.println(wortwitz);// duschlampe}@OverridepublicvoidsayHelloWorld(){System.out.println("I refuse to say that!");}@OverridepublicStringconcatStrings(Stringleft,Stringright){returnleft+right;}}