Video: belajar membuat aplikasi menggunakan aplikasi AIDE 2024
Anda dapat mengatur akses untuk bidang dan metode di aplikasi Android Anda. Kelas Java dapat memiliki akses publik atau akses non publik (default). Tapi anggota kelas memiliki empat kemungkinan: publik, pribadi, default, dan dilindungi.
Bidang dan metode kelas adalah anggota kelas.
Inilah cara kerja anggota akses:
- Anggota kelas standar (anggota yang pernyataannya tidak mengandung kata-kata
publik
,private
, atauterlindungi
) dapat digunakan oleh kode apa pun di dalam paket yang sama dengan kelas itu. - Anggota pribadi kelas tidak dapat digunakan dalam kode apa pun di luar kelas.
- Anggota publik kelas dapat digunakan dimanapun kelas itu sendiri dapat digunakan; yaitu:
- Setiap program dalam paket apapun bisa merujuk ke anggota publik dari kelas publik.
- Untuk sebuah program untuk referensi anggota publik dari kelas akses default, program harus berada di dalam paket yang sama dengan kelas.
Untuk melihat peraturan ini beraksi, lihat kelas publik dalam kode ini.
paket com allyourcode bank;
public class Account {
public String customerName;
private int internalIdNumber;
alamat string;
telepon String;
publik int socialSecurityNumber;
int accountType;
keseimbangan ganda;
public static int findById (int internalIdNumber) {
Akun ditemukanAccount = new Account ();
// Kode untuk menemukan akunnya ada di sini.
kembali ditemukanAccount. internalIdNumber;
}
}
Kode menggunakan kelas
Account
dan bidangnya.
Mari kita lihat apa yang terjadi dengan paket yang berbeda.
Mengacu pada kelas publik dalam paket yang berbeda.Pesan kesalahan menunjukkan beberapa masalah pada kode. Berikut adalah daftar fakta tentang dua kode ini:
- Kelas
UseAccoun
sama dalam kelasAccount
. - Kelas
UseAccount
dapat membuat variabel tipeAccount
. - Kode kelas
UseAccount
dapat merujuk ke bidangcustomerName
publik dari kelasAccount
dan ke bidangalamat
default dariAkun
kelas - Kelas
UseAccount
tidak dapat merujuk ke bidanginternalIdNumber
pribadi dari kelasAccount
, meskipunUseAccount
dan - Kelas
UseAccountFromOutside
tidak dalam paket yang sama dengan kelasAccount
. - Kelas
UseAccountFromOutside
dapat membuat variabel tipeAkun
. Pernyataanimpor
membuat Anda tidak harus mengulang kode nama lengkapcom allyourcode bank
di mana saja dalam kode.)
The - UseAccountFromOutside
kode kelas bisa merujuk ke bidang
customerNamepublik dari kelas
Account.
Kode kelas - UseAccountFromOutside
tidak dapat merujuk ke bidang
alamatkelas
alamatatau ke bidang
internalIdNumberdari
Akunkelas
Sekarang periksa kelas nonpublik dalam kode ini.
paket com allyourcode permainan;
class Sprite {
public
Nama string; gambar String;
jarak gandaFromLeftEdge, distanceFromTop;
gerak gandaAcross, motionDown;
private
int renderingValue; void render () {
if (renderingValue == 2) {
// lakukan hal-hal di sini
}
}
}
Kode menggunakan
Sprite
kelas dan bidangnya.
Mengacu pada kelas akses default dalam paket yang sama.
Mengacu pada kelas akses default dalam paket yang berbeda.
Pesan kesalahan dalam gambar ini menunjukkan beberapa masalah pada kode. Berikut adalah daftar fakta tentang dua keping kode ini:Kelas
- UseSprite
ada dalam paket yang sama dengan kelas
Sprite.
Kelas - UseSprite
dapat membuat variabel tipe
Sprite.
Kode kelas - UseSprite
dapat merujuk ke bidang
namakelas
Spritedan ke bidang
jarak_romTopdefault dari
kelas Sprite.
Kelas - UseSprite
tidak dapat merujuk ke bidang <909> renderingValue
pribadi dari kelasSprite
, meskipunUseSprite
danSprite
berada dalam paket yang sama.Kelas
UseSpriteFromOutside - tidak dalam paket yang sama dengan kelas
Sprite
.Kelas
UseSpriteFromOutside - tidak dapat membuat variabel tipe
Sprite
. (Bahkan deklarasiimport
tidak dapat menyelamatkan Anda dari pesan kesalahan di sini.)Di dalam kelas
UseAccountFromOutside - , rujuk ke
sprite. nama, sprite distanceFromTop
, dansprite. renderingValue
tidak ada artinya karena variabelsprite
tidak memiliki tipe.