Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: alexan 18. 08. 2016, 08:26:34

Název: Balíčky v Javě - začátečník
Přispěvatel: alexan 18. 08. 2016, 08:26:34
Mám problém s pochopením následujícího (z knihy Java 7 - učebnice objektové architektury pro začátečníky - Rudolf Pecinovský):

"Třídy v kořenovém balíčku jsou pro ostatní třídy z jiných balíčků nedostupné. Třídy z kořenového balíčku totiž nemají plný název, takže je z jiného balíčku nemůžeme ani
importovat, ani přímo oslovit. V jiných balíčcích proto nemůžeme implementovat
rozhraní z kořenového balíčku ani mít potomka třídy z kořenového balíčku."

Chtěl jsem si to v Netbeans vyzkoušet - založil jsem si java projekt a v něm v kořenovém adresáři dva balíčky. První obsahoval třídu kterou jsem si chtěl vyzkoušet použít ve druhém balíčku (což by podle učebnice-pokud ji správně chápu-možné být nemělo). Ale ono to bylo funkční. Mohl byste mi někdo smysl toho textu z učebnice nějak vysvětlit?
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: Vladimír Drgoňa 18. 08. 2016, 09:29:01
Netbeans je pomerne inteligentný, tipujem že automaticky pridal riadok s importom. Tu je príklad:
Kód: [Vybrat]
import java.io.*;
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: pecrom 18. 08. 2016, 09:30:00
myslim si, ze je "korenovym" balickem je mysleny defaultni, tj. ten co co nema jmeno. vy ste vytvoril dva balicky, ty uz jmeno maji takze tridy v nich dou dedit, importovat atd. viz. zde info http://stackoverflow.com/questions/2193226/how-to-import-a-class-from-default-package do defaultniho spadnou vsecky tridy, ktere nemaji uvedeny "package". trosku krkolomna odpoved, ale doufam, ze se to da pobrat
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: technomaniak 18. 08. 2016, 09:39:34
Mám problém s pochopením následujícího (z knihy Java 7 - učebnice objektové architektury pro začátečníky - Rudolf Pecinovský):

"Třídy v kořenovém balíčku jsou pro ostatní třídy z jiných balíčků nedostupné. Třídy z kořenového balíčku totiž nemají plný název, takže je z jiného balíčku nemůžeme ani
importovat, ani přímo oslovit. V jiných balíčcích proto nemůžeme implementovat
rozhraní z kořenového balíčku ani mít potomka třídy z kořenového balíčku."

Chtěl jsem si to v Netbeans vyzkoušet - založil jsem si java projekt a v něm v kořenovém adresáři dva balíčky. První obsahoval třídu kterou jsem si chtěl vyzkoušet použít ve druhém balíčku (což by podle učebnice-pokud ji správně chápu-možné být nemělo). Ale ono to bylo funkční. Mohl byste mi někdo smysl toho textu z učebnice nějak vysvětlit?

Skutečně je problém v chápání, i když ty jeho interpretace jsou horor. I ten příklad co sis vytvořil není správně dle citace z knihy.
správná simulace =
1) vytvoříš projekt
2) vytvoříš pouze 1 balíček v kořenovém adresáři ( např. package balicek )
3) v daném balíčku vytvoříš třídu  (např.  class TridaBalicek )
4) a pak vytvoříš třídu přímo v kořenovém adresáři. Tato třída nebude mít definici balíčku a tudíž není přístupná přes standardní cestu. (např. class TridaBezBalicku )

třída s balíčkem

Kód: [Vybrat]
package balicek;
class TridaBalicek {
      ...
}

třída bez balíčku

Kód: [Vybrat]
class TridaBezBalicku {
      ...
}




PS. Pecinovského knihy o Javě jsou odpad zvol si radši jiné, ale co se týče jeho knihy o návrhových vzorech tak ta je mistrovské dílo.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: Filip Jirsák 18. 08. 2016, 09:47:40
založil jsem si java projekt a v něm v kořenovém adresáři dva balíčky
Což je chyba, v citaci se píše o kořenovém balíčku – tj. v java souboru nebude uveden žádný package a zdrojový soubor bude uložen přímo v kořenovém adresáři (např. src/main/java/Test.java při klasické struktuře Maven projektů).

Třídy přímo do kořenového balíčku nedávejte nikdy. Nepatří tam ani resource soubory (NetBeany před tím dokonce varují), ale některé knihovny s tímhle umístěním počítají, pak je holt nutné udělat výjimku a resource soubor tam umístit.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: borekz 18. 08. 2016, 14:49:30
Tohle je důvod, proč se neučím z knih.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: Kit 18. 08. 2016, 15:15:26
Tohle je důvod, proč se neučím z knih.

Tím se hodně ochuzuješ, protože v knihách ty informace bývají preciznější a lépe uspořádány.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: borekz 18. 08. 2016, 18:28:25
Zrovna to ukázka o kořenovém balíčku je precizní jak noha.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: javaman )( 18. 08. 2016, 18:58:33
PS. Pecinovského knihy o Javě jsou odpad zvol si radši jiné, ale co se týče jeho knihy o návrhových vzorech tak ta je mistrovské dílo.

To myslíš vážně? Jako jedny knihy píše jako odpad a jiné píše jeho žena? Ty návrhový vzory jsou naopak to nejhorší, co má. Java od něj se dá, i když je divná. Ale návrhové vzory je opravdu mistrovské dílo, protože nic tak tragického jsem ještě neviděl. Nefunkční příklady? Popis zdrojáků, které nejsou v knize? Plno balastu kolem, ale k věci je toho málo. I když forma otázek a odpovědí je luxusní, tady to má tolik dalších nevýhod, že bych to moc neviděl. A jeho debilní název Kreslítko bych jako vydavatel ani v knize neotiskl.

Tohle je důvod, proč se neučím z knih.

Ano, to lopaty většinou dělávají, protože ani číst neumí.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: Kit 18. 08. 2016, 19:36:46
Zrovna to ukázka o kořenovém balíčku je precizní jak noha.

Musíš si vybrat lepší knihu.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: borekz 18. 08. 2016, 20:23:20
PS. Pecinovského knihy o Javě jsou odpad zvol si radši jiné, ale co se týče jeho knihy o návrhových vzorech tak ta je mistrovské dílo.

To myslíš vážně? Jako jedny knihy píše jako odpad a jiné píše jeho žena? Ty návrhový vzory jsou naopak to nejhorší, co má. Java od něj se dá, i když je divná. Ale návrhové vzory je opravdu mistrovské dílo, protože nic tak tragického jsem ještě neviděl. Nefunkční příklady? Popis zdrojáků, které nejsou v knize? Plno balastu kolem, ale k věci je toho málo. I když forma otázek a odpovědí je luxusní, tady to má tolik dalších nevýhod, že bych to moc neviděl. A jeho debilní název Kreslítko bych jako vydavatel ani v knize neotiskl.

Tohle je důvod, proč se neučím z knih.

Ano, to lopaty většinou dělávají, protože ani číst neumí.

Sám naznačuješ, že to je brak, ale když s tím brakem někdo nechce ztrácet čas, tak podle tebe neumí číst.
Název: Re:Balíčky v Javě - začátečník
Přispěvatel: javaman )( 18. 08. 2016, 20:54:43
Tak nemůžeš to brát podle nejhorší knihy na trhu. Většina zahraniční počítačové literatury má dobrou úroveň.

A ano, opravdu většina lidí neumí číst. Nechtějí se to naučit a považují to za ztrátu času, protože blogísky na webu jim všechno řeknou :D