Diskuze: java a list
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Předpokládám že je to stejný jako v C#. Nemá tam být
List<obrazek> list = new List<obrazek>();
Dobře, to už mám, Proč si ale nemůžu tento arraylist dát jako privátní proměnnou do třídy? Potřebuju ji uchovávat, a když to udělám, končí to chybou, to samé i u jiných tříd, chyba.
Proč musí být hlavní třída static? když v ní volám dynamickou metodu, končí to chybou, jak to udělat?
To můžeš, jen to děláš blbě. Zkus sem část zdrojového kódu.
Mám jenom tohle
package vesmirnastrilecka;
import java.util.ArrayList;
import javax.swing.JFrame;
public class Vesmirnastrilecka {
public vykresleni herniplocha;
public static void main(String[] args) {
JFrame okno = new JFrame();
okno.setSize(800, 640);
okno.setTitle("Vesmírná střílečka");
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
herniplocha = new vykresleni(800, 600);
okno.add(herniplocha);
nactiobrazky();
okno.setVisible(true);
}
private void nactiobrazky() {
ArrayList<obrazek> seznam = new ArrayList<>();
seznam.add(new obrazek("pes.jpg", 20, 100));
herniplocha.ulozobrazky();
}
}
Ten problém se statikou můžeš vyřešit třeba tak, že přesuneš kód z
metody main do nějaké dynamické, třeba do konstruktoru
třídy Vesmirnastrilecka.
Poté jen v main vytvoříš instanci.
dobře, děkuju, dal jsem to všechno do třídy vykresleni, a to načtení zavolal v konstruktoru.
Je možné, že ti v povodním příkladu chybí
import java.util.List;
ale to by ti NetBeans měl zahlásit. Když ale nenapíšeš, jakou chybu hlásí, tak se těžko věští z křišťálové koule.
"vykresleni" je název třídy, měl by začínat velkým písmenem. Zvykni si na to.
Název metody "nactiobrazky" svědčí o chybném uvažování. Obrázky přece patří k objektům a teprve tyto objekty patří do seznamu.
Zobrazeno 12 zpráv z 12.