"Profesor mung ora bisa uwal saka kaprigelane. Guru-guru lawas sing wis biasa kuliah mesthi kaya mangkene. Ora ana sing bisa dicritakake ing buku, sampeyan ora sinau nglangi kanthi ngrungokake . kanggo kuliah renang. Kuliah mung migunani yen sampeyan wis kenal karo subjek kasebut lan ngerti meh kaya profesor sampeyan."

"Nanging, pelajarane migunani."

"Ya. Maksudku, kita ngarep-arep dheweke. Sing luwih akeh perspektif babagan subyek sing sampeyan krungu, luwih cedhak sampeyan bakal nyedhaki bebener. Yen sampeyan krungu mung siji, sampeyan mung bisa percaya utawa ora percaya. OK, ayo bali menyang bisnis."

"Ayo deleng gambar sing wis daktuduhake sadurunge."

┏
┃public class Variables
┃┏
┃┃{
┃┃   private static String TEXT = "The end.";
┃┃  ┗━━━━━━━━━━━━━━━━━━━┛
┃┃   public static void main (String[] args)
┃┃ ┏                         ┗━━━━━━━┛
┃┃ ┃ {
┃┃ ┃    System.out.println("Hi");
┃┃ ┃    String s = "Hi!";
┃┃ ┃  ┏┗━━━━┛
┃┃ ┃  ┃ System.out.println(s);
┃┃ ┃  ┃ if (args != NULL)
┃┃ ┃  ┃ {
┃┃ ┃  ┃    String s2 = s;
┃┃ ┃  ┃   ┗━━━━┛
┃┃ ┃  ┃  ┏
┃┃ ┃  ┃  ┃ System.out.println(s2);
┃┃ ┃  ┃  ┗
┃┃ ┃  ┃ }
┃┃ ┃  ┃ Variables variables = new Variables();
┃┃ ┃  ┃ System.out.println(variables.instanceVariable);
┃┃ ┃  ┃ System.out.println(TEXT);
┃┃ ┃  ┗
┃┃ ┃ }
┃┃ ┗
┃┃   public String instanceVariable;
┃┃  ┗━━━━━━━━━━━━━━━┛
┃┃   public Variables()
┃┃   {
┃┃      instanceVariable = "Instance variable test.";
┃┃   }
┃┃}
┃┗
┗

1. Variabel sing diumumake ing metode ana (katon) saka wiwitan deklarasi nganti pungkasan metode.

2. Variabel sing diumumake ing blok kode ana nganti pungkasan blok kode.

3. Parameter metode ana nganti metode kasebut bali.

4. Variabel ing obyek ana sajrone kabeh umur obyek sing ngemot. Visibilitas uga diatur dening modifiers akses khusus.

5. Variabel statis (kelas) ana kabeh wektu program mlaku. Visibilitas uga ditemtokake dening modifiers akses.

"Bener. Aku kelingan gambar iki."

"Apik. Ayo kula ngelingake sampeyan babagan sawetara poin penting."

"Kabeh variabel sing diumumake ing metode ana (katon) saka titik sing diumumake nganti pungkasan metode (Conto 1)."

"Yen variabel diumumake ing blok kode, ana nganti pungkasan blok kode (Conto 2)."

"Yen variabel minangka parameter metode, ana (katon) ing kabeh awak metode kasebut (Conto 3)."

"Yen variabel minangka variabel conto (Conto 4), disambungake menyang obyek tartamtu lan ana sajrone obyek kasebut ana. Yen ora ana obyek, mula ora ana conto variabel kasebut. Sampeyan bisa ngakses variabel kasebut (yaiku variabel katon ) saka kabeh metode kelas, preduli saka apa padha diumumake sadurunge utawa sawise. . "

"Yen variabel diumumake statis, yaiku ditandhani nganggo tembung kunci statis , mesthi ana sajrone kelase ana. JVM biasane ngemot kelas menyang memori nalika nggunakake pisanan. Semono uga nalika variabel statis diinisialisasi."

Liyane babagan ruang lingkup variabel - 1

"Conto ing ndhuwur nyatakake kelas Cat, sing nduweni papat variabel: a, b, s (variabel non-statis), lan count (variabel statis) . bakal ngemot kedadean dhewe saka variabel non-statis kelas. Variabel statis dienggo bareng karo kabeh obyek saka kelas. Secara teknis, ora ana ing njero obyek kasebut, amarga wis ana sadurunge obyek Cat digawe."

"Iki apa sing kedadeyan yen kita nyatakake variabel sstatis:"

Liyane babagan ruang lingkup variabel - 2

"OK. Aku rumangsa ngerti."

"Apa sampeyan bisa ngumumake variabel kanthi jeneng sing padha?"

"Ora nang metode. Kabeh variabel sing diumumake ing njero metode kudu duwe jeneng unik. Argumen metode uga dianggep variabel lokal."

"Apa babagan variabel anggota?"

"Variabel anggota uga kudu unik kanggo saben kelas."

"Nanging ana pangecualian: jeneng variabel lokal lan variabel anggota bisa identik. "

"Yen kita ngganti variabel kasebut, salah siji saka rong variabel sing dijenengi identik bakal diganti?"

"Yen ana sawetara variabel sing katon (diakses) ing kode kita - ucapake, variabel conto lan variabel lokal - variabel lokal bakal diakses."

Conto karo rong variabel count
class Main
{
    public int count = 0;     // Declare an instance variable

    public void run()
    {
        count = 15;           // Access the instance variable
        int count = 10;       // Declare a local method variable
        count++;             // Access the method variable
    }
}

"Kode iki nyatakake rong variabel count. Baris 3 nyatakake variabel conto , lan baris 8 - variabel lokal ."

"Iki kedadeyan nalika metode run dieksekusi:"

"Ing baris 7, kita ngakses variabel conto lan nemtokake nilai 15"

"Ing baris 8, kita ngumumake (nggawe) variabel lokal anyar : count. Iku nutupi variabel conto. Variabel lokal yaiku kabeh kode sakteruse ing metode kasebut bakal weruh (akses)."

"Ngerti."

"Variabel lokal nutupi variabel conto. Ing tembung liya, variabel lokal sing kudu diakses. Nanging, sampeyan uga bisa ngakses variabel conto. Iku mung luwih rumit kanggo nglakoni."

Variabel statis (kelas).
ClassName.variableName

// Here are some examples:
Cat.catsCount
Variabel non-statis (instance).
this.variableName

// Here are some examples:
this.catsCount

"Apa maneh sampeyan bisa ngomong babagan metode statis lan variabel statis?"

"Cara statis lan variabel ora disambung menyang obyek saka kelas; lagi disambung menyang kelas dhewe. Yen kita nggawe sepuluh variabel obyek (ndeleng conto ing awal tingkat iki), kita bakal duwe sepuluh instanceVariable variabel (siji kanggo saben. obyek) lan mung siji (statis) variabel TEKS ."

"Aku duwe pitakonan."

"Apa bedane metode statis lan non-statis?"

"Ayo deleng cara kerjane metode non-statis:"

Apa kode katon kaya
Cat cat = new Cat();
String name = cat.getName();
cat.setAge(17);
cat.setChildren(cat1, cat2, cat3);
Apa pancene kedadeyan
Cat cat = new Cat();
String name = Cat.getName(cat);
Cat.setAge(cat,17);
Cat.setChildren(cat, cat1, cat2, cat3);

"Yen sampeyan nelpon metode nggunakake <object> dot <method name> , sampeyan bener-bener nelpon metode kelas lan ngliwati obyek sing padha karo argumen pisanan. Ing metode kasebut, obyek kasebut diarani 'iki' . Kabeh operasi ing metode ditindakake ing obyek iki lan data."

"Wah! Dadi kaya ngono kabeh!"

"Lan iki cara kerjane cara statis."

Apa kode katon kaya
Cat cat1 = new Cat();
Cat cat2 = new Cat();
int catCount = Cat.getAllCatsCount();
Apa pancene kedadeyan
Cat cat1 = new Cat();
Cat cat2 = new Cat();
int catCount = Cat.getAllCatsCount(null);

"Yen sampeyan nelpon metode statis, ora ana obyek sing dilewati. Ing tembung liyane, 'iki' padha karo null . Pramila metode statis ora bisa ngakses variabel lan metode non-statis (amarga ora ana 'iki' kanggo dilewati . kanggo metode iki).

"Hmmm. Aku rumangsa ngerti. Paling sethithik."

"Lan iki teka Pakdhe Diego ... lan tugas-tugase."