Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 2. diel - Prvá objektová aplikácia v Jave - Hello object world

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na lm3951
David Hartinger:11.11.2013 17:43

Ty jsi to vůbec nepochopil. Zdravic.java je třída, která reprezentuje objekt zdraviče. Je to tu vysvětlené. Main je spouštěcí metoda v hlavní třídě aplikace, pracuje se s ní asi 15 předchozích dílů, tak jestli jsi je četl, měl bys to vědět.

Odpovedať
New kid back on the block with a R.I.P
Avatar
Michal Říčan (fussak):11.11.2013 17:47

Jestli chceš odpověď, kde přesně musí být umístěna metoda main(). Tak se to většinou dá dohledat někde v nastavení projektu.

Když vytváříš nový projekt, tak se ti defaultně vygeneruje třída obsahující metodu main(). A cesta ( název třídy ) kde se metoda nachází je taky nastavena defaultně. Nepoužívám eclipse ale NetBeans, tam se to dá dohledat ( Run > Set project config > Customize.. ), položka main class. Když si ji změníš například na start.Zdravic, překladač bude hledat metodu main() ve třídě Zdravic

Asi nikoho nenapadlo, když nějaké IDE atd. programoval, že ještě před spuštěním překladu by měl prohledat všechny zdrojové kódy aby zjistil kam mu uživatel umístil main().

Snad je toto odpověď na tvou otázku.

Avatar
lm3951
Člen
Avatar
Odpovedá na David Hartinger
lm3951:11.11.2013 20:18

sdraco - nerozumieme si nejak. Vysvetlujes to super a tvoj tutorial som presiel komplet. Vdaka.
Ja viem co a naco je metoda main a ked som pisal program proceduralne, tak mi neprislo nijak divne, ze tam je a ze je nou obaleny cely kod.

Ja som sa, ale teraz pri oop pytal, ze v ktorej triede ju NEMUSIM uviest ked pouzivam objekty. Odpoved davaj ju vsade nie je odpoved na to co ma zaujima.

A eclipse ti default nevklada do vytvoreneho class metodu main, iba ak si to zvolis ako moznost pre ten konkretny class.

Takto to chodi samozrejme v pohode.
HelloObjects.java

package helloobjects;

public class HelloObjects{

        public static void main (String[] args)
        {

        Zdravic zdravic = new Zdravic();

        zdravic.pozdrav();

        }

}

Zdravic.java

package helloobjects;

public class Zdravic
{


        public void pozdrav ()
        {
                System.out.println("Ahoj object world");
        }


}

ked main vlozim do triedy zdravic

package helloobjects;



public class Zdravic
{

        public static void main (String[] args){


        public void pozdrav ()
        {
                System.out.println("Ahoj object world");
        }

   }
}

a vymazem z triedy HelloObjects

package helloobjects;

public class HelloObjects{


        Zdravic zdravic = new Zdravic();

        zdravic.pozdrav();

}

tak aj napriek tomu, ze mi tvrdite, ze to je jedno kde je main, tak to nefunguje, takze ? Kde robim chybu ?

Editované
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na lm3951
David Hartinger:11.11.2013 20:23
  1. Na vložení zdrojových kódů je zde tlačítko.
  2. Metodu si tam vložil špatně, proto to nefunguje. Nemůžeš mít metodu v metodě.
  3. Pokud čteš seriál, kde se pracuje s NetBeans, tak je lepší pracovat s NetBeans, je to i hlavní IDE pro Javu přímo od Oracle. Chápu, že třeba potřebuješ používat Eclipse, ale přejdi až ve chvíli, kdy to budeš umět.
Odpovedať
New kid back on the block with a R.I.P
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na lm3951
Jan Vargovský:11.11.2013 20:31
package helloobjects;

public class HelloObjects{


       Zdravic zdravic = new Zdravic();

       zdravic.pozdrav();

}

Tohle je co ?

Avatar
lm3951
Člen
Avatar
Odpovedá na David Hartinger
lm3951:11.11.2013 20:50
  1. ok
  2. ok
  3. ok

nasiel som si to teda na nete. main MUSI byt LEN v triede, ktoru spusta interpreter ako prvu. V zasade by nikde inde byt nemusela /iba ak sa testuje nejaka trieda /. Bez IDE nejak ako napr. java MenoTriedy potom sa zavola metoda main z tejto triedy inde byt nemusi.

Avatar
vfsdfsdfdsf
Člen
Avatar
vfsdfsdfdsf:10.1.2014 17:39

Ahoj, jakto že v tom příkladu, co napsal uživatel Зайчик v komentářích, se po vytvoření instance třídy Pozdrav automaticky zavolá i jeho metoda se stejným názvem? To dělá nějak implicitně konstruktor?

Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na vfsdfsdfdsf
Jan Vargovský:11.1.2014 21:26

To není metoda, ale pouze konstruktor. Podívej se jak se píše konstruktor a metoda - u jedné chybí návratový typ.

Avatar
vfsdfsdfdsf
Člen
Avatar
Odpovedá na Jan Vargovský
vfsdfsdfdsf:12.1.2014 11:38

Jojo díky, kdybych si předtím přečetl další kapitolu, nemusel bych se ptát :D

Avatar
Marcel Smolik:4.7.2015 11:13

Dobrý den mohl bych se zeptat co jsou tyhle znaky- %s
vým že je to asi někde v základech ale nemohu to najít.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 196.