Troszki o Javie...
Java jest językiem interpretowanym, co zapewnia działanie Javy prawie na wszystkich systemach operacyjnych bez potrzeby re-kompilacji kodu. Kod źródłowy Javy (*.java) jest kompilowany przez kompilator Javy (javac) do kodu bajtowego (B-kodu, *.class), i te właśnie pliki są interpretowane przez JVM (wirtualną maszynę Javy).
Służy do tego program
java. Teoretycznie oznacza to, że raz napisany kod będziemy w stanie odpalić na prawie każdej platformie systemowej. Sam ten fakt nie jest czymś nadzwyczajnym, ale twórcy języka wyciągnęli dobre wnioski, czyli stworzyli bogaty zestaw bibliotek i interfejsów, które pozwalają w niezależny sposób od platformy programować:
- graficzne interfejsy użytkownika
- dostęp do baz danych
- działania w sieci
- aplikacje rozproszone
- aplikacje WEB
- oprogramowanie pośredniczące (middleware)
- zaawansowaną grafikę, gry i multimedia
- aplikacje na telefony i inne małe urządzenia
Zestaw bibliotek wraz z debugerem, narzędziami tworzenia dokumentacji i innymi pomocniczymi aplikacjami nazywa się
JDK (Java Development Kit). Zestaw bibliotek uzupełniany jest w zależności od zastosowań. W całości środki te tworzą platformę Java 2, podzieloną ze względu na zastosowania i edycje:
- standardową - Java Standard Edition (Java SE) - przeznaczoną głównie do standardowych zastosowań dla komputerów personalnych i serwerów, również połączonych w sieci
- biznesową - Java Enterprise Edition (Java EE) - dla tworzenia rozbudowanych i zaawansowanych aplikacji biznesowych, w szczególności dla dużych firm
- mikro - Java Micro Edition (Java ME) - dla programowania urządzeń elektronicznych, takich jak telefony komórkowe, telewizja, procesory w samochodach czy urządzeniach gospodarstwa domowego
Java jest językiem obiektowym więc posługuje się pojęciami takimi jak
klasa i obiekt. Więc co to jest obiekt ? Sama intuicja podpowiada nam, że jest to coś w rodzaju przedmiotu, jakiegoś bytu. Na przykład:
- rower,
- samochód,
- osoba
- ...
Każdy z tych obiektów posiada inne właściwości, na przykład osoba posiada płeć, imię itp., a samochód markę, pojemność ..., właściwości te nazywa się
atrybutami. Teraz możemy mieć taki przypadek, że osoba posiada ten sam zestaw właściwości (
atrybutów) np. te same imię i tą samą płeć. Powiemy wówczas że obiekty osoby są obiektami tej samej
klasy. A
klasa stanowi opis takich cech grupy podobnych obiektów, które są dla nich niezmienne. Idąc dalej widzimy, że obiekty mogą wykonywać jakieś czynności. Powiemy: udostępniają jakieś
usługi. Inne obiekty mogą "poprosić" je o wykonanie tych usług. Czyli, że do obiektów posyłane są
komunikaty, żądające od nich wykonania określonych usług.
Przykładowy zapis definicji klasy: - class Osoba{
- private String imie;
- private String nazwisko;
- private char plec;
- private int wiek;
-
- public void zmienWiek(){
- wiek++;
- }
-
- public char getPlec(){
- return plec;
- }
-
- public String przedstawSie(){
- return imie + " " + nazwisko;
- }
-
- public void zmienPlec(char plec){
- this.plec = plec;
- }
- }
class Osoba{
private String imie;
private String nazwisko;
private char plec;
private int wiek;
public void zmienWiek(){
wiek++;
}
public char getPlec(){
return plec;
}
public String przedstawSie(){
return imie + " " + nazwisko;
}
public void zmienPlec(char plec){
this.plec = plec;
}
}
Dane (atrybuty) są (powinny być) ukryte i są traktowane jako nierozdzielna całość z usługami - metodami. Nazywa się to
hermetyzacją i oznacza znaczne zwiększenie odporności programu na błędy. Podejście obiektowe umożliwia ponowne wykorzystanie już gotowych klas przy tworzeniu klas nowych, co znacznie oszczędza pracę przy kodowaniu, a także chroni przed błędami. Niom tyle z wprowadzenia, teraz może napiszmy aplikacje powitalną. Działanie aplikacji w Javie zaczyna się od metody
main public static void main(String[] args) Metoda ta musi być umieszczona w jednym z plików z kodem źródłowym, jak to zaraz będzie pokazane na przykładzie ;).
- package welcomejava;
-
- import javax.swing.Icon;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
-
-
-
-
-
- public class Main {
-
- public static void main(String[] args) {
- WelcomJava frame = new WelcomJava();
- frame.setVisible(true);
-
- }
- }
-
- class WelcomJava extends JFrame{
-
- public WelcomJava() {
- super("Powitanie");
- String htmlText = "<font size="+3">"
- + "Hellow</font><font color="red"><b> Javo!</b></font>
- "
- + "<font color="blue">... A witaj!</font>";
-
- Icon icon = new ImageIcon(getClass().getResource("/welcomejava/java_logo.png"));
- JLabel label = new JLabel(htmlText, icon, JLabel.CENTER);
- this.add(label);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.pack();
- this.setLocationRelativeTo(null);
- }
-
- }
package welcomejava;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*
* @author nonus25
*/
public class Main {
public static void main(String[] args) {
WelcomJava frame = new WelcomJava();
frame.setVisible(true);
}
}
class WelcomJava extends JFrame{
public WelcomJava() {
super("Powitanie");
String htmlText = ""
+ "Hellow Javo!
"
+ "... A witaj!";
Icon icon = new ImageIcon(getClass().getResource("/welcomejava/java_logo.png"));
JLabel label = new JLabel(htmlText, icon, JLabel.CENTER);
this.add(label);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setLocationRelativeTo(null);
}
}
Działanie aplikacji można zobaczyć tutaj :
W następnym temacie zostaną opisane typy danych, operatory i wyrażenia.
Brak komentarzy:
Prześlij komentarz