Java: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Przemub (dyskusja | edycje)
m →‎Linux: styl, drobne techniczne
Linia 274:
 
Chcąc skompilować nasz program do postaci kodu bajtowego, wydajemy polecenie <code>javac Hello.java</code>. Utworzony zostanie wówczas plik o nazwie <code>Hello.class</code>, który - ponieważ zdefiniowaliśmy metodę główną <code>main( )</code> - możemy wykonać za pomocą polecenia <code>java Hello</code>.
 
=== Obiektowe podstawy ===
 
Podobnie do pierwszego programu napisanego w języku ''Java'' , aby uruchomić poniższe przykłady, należy je wcześniej skompilować do kodu bajtowego za pomocą polecenia '''javac <nazwa pliku o rozszerzeniu .java>''', a następnie uruchomić na Wirtualnej Maszynie Javy za pomocą polecenia '''java <nazwa pliku o rozszerzeniu .class pisana tutaj bez rozszerzenia>'''. Pamiętajmy, że uruchomić możemy tylko tę klasę, która zawiera metodę ''main( )''. Zatem dla ''Przykładu 1'' po wydaniu polecenia '''javac Proba.java''', w celu wykonania programu należy wykonać polecenie '''java Proba'''.
 
<pre>
T:\archiwum\java>java Proba
Jan Kowalski, 1981, PESEL: 81111224350
 
T:\archiwum\java>
</pre>
 
Wykonanie polecenia <code>java Proba.class</code> wygeneruje wyjątek podobny do tego poniżej. Polecenie <code>java</code> jako argumentu oczekuje nazwy klasy, a nie nazwy pliku, do którego skompilowano klasę. Stąd poniższy komunikat.
 
<pre>
T:\archiwum\java>java Proba.class
Exception in thread "main" java.lang.NoClassDefFoundError: Proba/class
 
T:\archiwum\java>
</pre>
 
 
 
Również polecenie <code>java Person</code> zgłosi wyjątek:
 
<pre>
T:\archiwum\java>java Person
Exception in thread "main" java.lang.NoSuchMethodError: main
 
T:\archiwum\java>
</pre>
 
ponieważ klasa <code>Person</code> nie zawiera metody <code>main( )</code>, której deklaracja jest konieczna, jeśli chcemy uruchamiać nasz program z wiersza poleceń. W naszym przykładzie klasa <code>Person</code> zawiera wyłącznie definicje typów danych, składających się na opis osoby.
 
=== Przykład 1 ===