Im dłużej siedze w teorii (czytanie książke) tym mam większą niechęc do tego języka :/ Wczoraj chciałem poczytac sobie o typach generycznych i dzisiaj mam wielki mętlik w głowie. Niby znam podstawy, ale przez zero praktyki dopiero teraz sobie uświadomiłem, że wszystkie zmienne w javie to tzw. zmienne referencyjne (wskazują na jakiś tam obszar w pamięci, są referencją..). Wcześniej nie używałem takich pojęć: po prostu mówiłem "zmienna" danego typu "równa się" tworzony obiekt (operator new ... i zazwyczaj tutaj pojawia się po "new" nazwa konstruktora). Dobrze myslę ?
A teraz do sedna. Nie mam pojęcia, skąd autorzy piszący kod w książce od razu wiedzą, jakiego typu użyć, albo czasem tworzą własne typy. Zaznaczę to w kodzie. Prosiłbym o wytłumaczenie. Wiem co to jest typ, wiem co to typy podstawowe.
Fragment kodu:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ProstyGUI1c implements ActionListener {
JFrame ramka; //co to oznacza? że powinienem przejrzeć klasę wbudowaną ActionListener i tam zobaczę typ JFrame? Typ czy metodę zwracającą taki typ???
public static void main(String[] args){
prostyGUI1c apGUI = new ProstyGUI1c(); //tu typem jest nazwa klasy, czyli co, nie ma tu typu JFrame bo tworzymy dopiero typ w tej naszej klasie będącej podklasą klasy z której implementujemy?
apGUI.doDziela();
}
public void doDziela(){
ramka = new JFrame(); //aha, dlatego wcześniej zmienna ramka była typu JFrame bo chcemy móc korzystać z tej nadklasy która ma tę metodę JFrame ?
JButton przycisk = new JButton("zmiana koloru");
....