Pitakonan sing menarik lan penting iki dijaluk marang salah sawijining pembaca nalika wawancara telpon kanggo posisi pangembang Jawa. Sanajan dheweke ngerti yen ora bisa
nggawe kelas abstrak final
ing basa Jawa , dheweke bingung karo tembung pitakon kasebut. Jawaban iki prasaja: ora,
final
ora ana cara abstrak ing a -class. Kenging punapa? Amarga sanalika sampeyan ngumumake metode abstrak ing kelas basa Jawa, kelas iki kanthi otomatis dadi abstrak, lan
final
sampeyan ora bisa nggawe kelas abstrak ing basa Jawa.
final
Iki tegese ora ana cara abstrak ing kelas Jawa.
Akeh pangembang Jawa sing bingung njawab pitakonan iki amarga tembung-tembunge. Malah yen wong takon pitakonan wis menowo karo konsep umum, dheweke bisa uga ora éling sing kelas, sawise wara-wara cara abstrak ing, dadi abstrak, lan sampeyan ora bisa nggawe kelas abstrak
final
ing Jawa. Titik iki misahake pitakonan iki saka pitakonan sing luwih umum lan asring ditakokake:
apa bisa ing Jawa nyatakake kelas dadi abstrak lan final ing wektu sing padha? Ayo kang katon ing siji conto kode kanggo nduduhake iku
final
ora bisa kanggo wara-wara cara abstrak ing -class. Ayo
Hello.java
kita duwe
public final
kelas sing diarani
Hello
, sing nduweni metode abstrak
print()
.
public final class Hello {
public abstract void print();
}
Ketik kode iki menyang IDE, sampeyan bakal nampa pesen kesalahan ing ngisor iki, padha ngandika
Hello
iku kudu kelas abstrak supaya cara abstrak bisa ngumumaké ing.
Bab sing padha bakal kedadeyan yen sampeyan ngetik kode iki ing Notepad lan ngumpulake nggunakake utilitas javac saka baris printah. Miturut spesifikasi Jawa, sanalika sampeyan ngumumake metode abstrak ing kelas, kelas kasebut dadi kelas abstrak, lan amarga sampeyan ora bisa nggawe kelas abstrak
final
ing Jawa, kompiler bakal ngasilake kesalahan. Iki bener kanggo kelas tingkat ndhuwur lan kelas nested ing basa Jawa. Sanajan sampeyan ngumumake metode abstrak ing
final
kelas nested, kesalahane bakal padha. Pitakonan liyane sing gegandhengan yaiku:
bisa kelas abstrak ing Jawa duwe metode statis? Jawaban: ya, padha bisa, ora ana masalah karo deklarasi cara statis ing kelas abstrak, wiwit nggunakake cara statis sampeyan ora perlu kanggo nggawe Kayata saka kelas, padha bisa disebut mung nggunakake jeneng kelas. Kita bisa ngowahi conto kanggo nyakup
Hello
metode ing kelas
main()
, sing statis ing Jawa, kaya sing kapacak ing ngisor iki:
public abstract class Hello {
public abstract void print();
public static void main(String args[]) {
}
}
Kaya sing sampeyan ngerteni, ora ana kesalahan kompilasi sing dibuwang. Kode iki kompilasi tanpa masalah, amarga ing Jawa sampeyan bisa kanthi aman ngumumake cara statis ing kelas abstrak.
kesimpulan Brief Iku mokal kanggo wara-wara cara abstrak ing
final
-class. Amarga yen sampeyan nindakake iki, kelas kanthi otomatis dadi abstrak, miturut spesifikasi Jawa. Lan wiwit
final
a -class ing Jawa ora bisa abstrak, iki ora bisa ditampa, lan compiler bakal nglarang sampeyan nindakake iki kanthi mbuwang kesalahan. Nanging sampeyan bisa ngumumake cara statis ing kelas final lan abstrak, ora ana masalah.
GO TO FULL VERSION