Video: Android 101 by Fred Widjaja 2024
Een goed stuk code in uw Android-app zal waarschijnlijk beginnen met het woord
public
. Wanneer een klasse openbaar is, kan elk programma in een pakket de code (of ten minste een deel van de code) in die klasse gebruiken. Als een klasse niet openbaar is, moet een programma voor het gebruik van de code in die klasse binnen hetzelfde pakket als de klasse zitten.
Wat is een paragraaf?
pakket com. allyourcode. tekstverwerker;
class Paragraph {
int alignment;
int borders;
dubbele leftIndent;
dubbele regelafstand;
int-stijl;
}
Een paragraaf maken met code in hetzelfde pakket
package com. allyourcode. tekstverwerker;
klasse MakeAParagraph {
Paragraaf paragraaf = nieuwe paragraaf ();
{
paragraaf. leftIndent = 1,5;
}
}
Een alinea maken met code in een ander pakket
// THIS IS BAD CODE:
package com. allyourcode. editor;
com. allyourcode. tekstverwerker. paragraaf;
public class MakeAnotherParagraph {
Paragraph paragraph = new Paragraph ();
{
paragraaf. leftIndent = 1,5;
}
}
De
Paragraaf
-klasse in de eerste set code heeft standaardtoegang - dat wil zeggen, de
Paragraaf
-klasse is niet ' t publiek. De code in de tweede set code bevindt zich in hetzelfde pakket als de klasse
Paragraaf
(het
com. Allyourcode. Wordprocessor
-pakket). U kunt dus een object declareren van het type
Paragraaf
en u kunt verwijzen naar het
leftIndent
-veld van dat object.
De code in de laatste set bevindt zich niet in dezelfde
com. allyourcode. tekstverwerker
pakket. Om die reden zijn het gebruik van namen als
Paragraaf
en
leftIndent
niet legaal, zelfs als ze zich in hetzelfde Android Studio-project bevinden. Wanneer u de code van alle bovenstaande sets in de Android Studio-editor typt, ziet u een rode, vlekkerige puinhoop voor de laatste set.
Heb je ooit een opdrachtverklaring gezien die niet in een methode zit? Buiten een methode kunt u geen waarden aan dingen toewijzen, tenzij u een initialisatieblok maakt. Net als elk ander type blok heeft een initialisatieblok open en gesloten accolades. Tussen de accolades heeft het initialisatieblok instructies die waarden aan dingen toewijzen.
In de tweede set code wijst een initialisatieblok de waarde 1. 5 toe aan het veld
leftIndent
van een alinea. In de laatste reeks code probeert een initialisatieblok een waarde toe te wijzen, maar de toewijzing werkt niet omdat de klasse
Paragraaf
niet openbaar is.
Het
. java
-bestand met een openbare klasse moet dezelfde naam hebben als de openbare klasse. Zelfs de hoofdlettergebruik van de bestandsnaam moet hetzelfde zijn als de naam van de openbare klasse.
Vanwege de regel voor bestandsnamen kunt u niet meer dan één openbare klas in een
declareren. java
file.