Video: PHP OPP tutorial / guide | #3 Klasser 2025
En god del kode i din Android app vil sandsynligvis begynde med ordet
public
. Når en klasse er offentlig, kan ethvert program i en pakke bruge koden (eller i det mindste nogle af koden) inde i den pågældende klasse. Hvis en klasse ikke er offentlig, så skal programmet være inde i samme pakke som klassen for at kunne bruge koden indenfor den klasse.
Hvad er et afsnit?
pakke com. allyourcode. tekstbehandlingsprogram;
klasse Stykke {
int alignment;
int grænser;
double leftIndent;
double line spacing;
int stil;
}
Lav et afsnit med kode i den samme pakke
pakke com. allyourcode. tekstbehandlingsprogram;
klasse MakeAParagraph {
Stk. Afsnit = nyt afsnit ();
{
afsnit. leftIndent = 1. 5;
}
}
Lav et punkt med kode i en anden pakke
// DETTE ER DÅRLIG KODE:
pakke com. allyourcode. redaktør;
import com. allyourcode. tekstbehandlingsprogram. Afsnit;
offentlig klasse MakeAnotherParagraph {
Stk. Afsnit = nyt afsnit ();
{
afsnit. leftIndent = 1. 5;
}
Klassen
i det første sæt kode har
standardadgang -
det vil sige Stykke klassen ern ' t offentligt. Koden i det andet sæt kode er i samme pakke som klassen
Stykke
(pakken
com. Allyourcode. Wordprocessor
). Så du kan erklære et objekt, der er af typen
Stykke
, og du kan henvise til objektets
leftIndent
-felt.
Koden i det sidste sæt er ikke i samme
com. allyourcode. tekstbehandling
pakke. Derfor er brug af navne som
Stykke
og
leftIndent
ikke lovlige, selvom de er i samme Android Studio-projekt. Når du skriver koden fra alle ovenstående sætninger til Android Studio-editoren, ser du et rødt, pletfuldt rod for det sidste sæt.
Fejl i koden.
Har du nogensinde set en opgaveopgørelse, der ikke er inde i en metode? Uden for en metode kan du ikke tildele værdier til ting, medmindre du opretter en initialiseringsblok. Som enhver anden slags blok har en initialiseringsblok åbne og lukkede krøllestænger. Mellem braces har initialiseringsblokken udsagn, som tildeler værdier til ting.
leftIndent
-feltet. I det sidste sæt kode forsøger en initialiseringsblok at tildele en værdi, men opgaven virker ikke, fordi klassen
Stykke
ikke er offentlig.
Det
. java
filen indeholdende en offentlig klasse skal have samme navn som den offentlige klasse. Selv kapitaliseringen af filnavnet skal være det samme som den offentlige klasses navn.
På grund af filnavnetreglen kan du ikke erklære mere end en offentlig klasse i en
. java
fil.