80 likes | 170 Views
Items 4, 14, 24, 34, 44, 54. Orange gruppe Liv , Jonas, Thorkil , Søren S og Martin D. Item numero 4. Utility class ( som Math), en samling af statiske felter og metoder Skal ikke initialiseres Abstract class? Problem: Man kan nedarve og instantiere på den måde
E N D
Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D
Item numero 4 • Utility class (som Math), en samlingafstatiskefelterogmetoder • Skalikkeinitialiseres • Abstract class? Problem: Man kannedarveoginstantierepå den måde • Løsning: Lavklassens constructor private // Noninstantiable utility class public class UtilityClass { // Suppress default constructor for noninstantiability private UtilityClass() { throw new AssertionError(); } ... // Remainder omitted }
Item numero 14 • Brug ikke public felter i public klasser, brug accessor-metoder • Mere kontrol over adgangentilklassensfelter • Public felterkanforsvareshvis de ogsågøres final, så de ikkekanændres • class Dot { • private int a; • public Dot(int a) { • this.a = a; • } • //getters • public intgetDot() { return a; } • //setters • public void setA(int a) { this.a = a; } • }
Item numero 24 • Unchecked warnings • Ret dem du kan, men ikkealleerlette at rette • Bevis at kodener “typesafe”, ogbrugså @SuppressWarning • Bedre end bare at ignorereadvarslen: Man kan se hvisderkommernye warnings ArrayList<Book> books = new ArrayList(); public void myMethod { @SuppressWarnings(“unchecked”) ArrayList<Books> books = new ArrayList(); }
Item numero34 • Item 34: Emulering af udvidelige enums vha. Interfaces • Man kan ikke extende enums i Java, men man kan ”efterligne” effekten ved at bruge interfaces.
Item numero 44 • Item 44: Skriv javadoc comments til alle API elementer • Skriv kommentar til klasser, interfaces, konstruktor, metoder, felter osv. Kode uden er umulig økonomisk og tidsmæssigt at vedligeholde!! • Tips: • Det første javadoc comment til en klasse,interface, m.m. Indtil der kommer et punktum efterfulgt af komma, tages som opsummering af metoden. • Eks.: /** * Returns the char value at the specified index. An index ranges * from 0 to length() - 1. */
Item numero 44 • Item 44: Skriv javadoc comments til alle API elementer • Der er HTML formattering i javadoccomments. • Eks.: /** This is a <b>bolded</b> javadoc comment*/ • Kan give visse problemer, f.eks. Ikke muligt at skrive HTML metacharacters i koden eksempelvis: < & > • Løsning: brug:1.{@code}, tagget da den udelader HTML formatering, og giver koden en code font.Eks. The param x must reside in the range: {@code 0 <= x && x > arr.length} 2.{@literal}, tagget da den udelader HTML formatering.Eks.: The param x must fit in the equation: {@literal x+y < y*y} • Foretrukkent at sørge for læsbarhed i både sourcecoden og den generede javadoc. Hvis begge ikke kan opnås tager den generede kode førset prioriteten.
Item numero54 • Item 54: Brug JNI med omtanke • JNI(Java Native Interface) • C,C++, m.m. skrevne native/speciale methods. • Tilhvilkennytte? • Adgangtil legacy libraries • Native kodeekserkvereshurtigt. • Hvorfor med omtanke? • Unsafe • JVM(Java Virtual Machine) erblevetmegethurtigere. • Native kodesjældenthurtigere mere. • Mindreportabelt