Modifiera fordonsexemplet från avsnitt 3 så att det använder interface i stället för abstrakta klasser.
(Skansholm har fler övningsuppgifter med abstrakta klasser och interface i Kapitel 10, men tyvärr är de svårare.)
Object
i dokumentationen av Javas
API.
Jag har påstått att en variabel av typ Object
kan bindas till
vilken typ av objekt som helst. Skriv och provkör ett enkelt
program för att kontrollera att det stämmer.
PI
deklarerad public
i java.lang.Math
. Är det en bra idé? Ge
argument för eller emot.Kvadrat
, med en position och en storlek (höjd),
samt en metod innehaller(int x, int y)
som avgör om kvadraten
innehåller en given punkt.
På samma sätt, definiera en klass Cirkel
, med en position och en
storlek (diameter). Definiera även en metod innehaller(int x, int
y)
som avgör om kvadraten innehåller en given punkt.
Skriv ett enkelt program för att testa ovanstående klasser.
Figur
och låt klasserna Cirkel
och Kvadrat
ärva från den. Deklarera en abstrakt metod innehaller(int x, int
y)
i Figur
. Skriv ett testprogram som skapar en array av Figur
och
lägger in olika Cirklar
och Kvadrater
. Vad händer när du anropar
metoden innehaller(x,y)
(med lämpliga värden på x
och y
) för de
olika figurerna?Group
som representerar
en mängd av olika figurer.Skriv ett enkelt program som använder paket.
Kompilera och provkör.
Jag påstår att användning av omslagsklasser kan göra programmet ineffektivt. Undersök om det stämmer. Skriv ett program i två versioner, en som använder de vanliga primitiva datatyperna och en som använder omslagsklasser. Hur mycket prestanda förlorar man på att använda omslagsklasser?