abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 00:44 | Zajímavý článek

    Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.

    |🇵🇸 | Komentářů: 28
    13.12. 04:55 | Zajímavý software

    Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    12.12. 16:00 | Nová verze

    Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    12.12. 12:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »

    Ladislav Hagara | Komentářů: 20
    12.12. 04:33 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    12.12. 03:55 | Nová verze

    Společnost System76 vydala Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    12.12. 03:11 | Nová verze

    Byla vydána verze 1.92.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    12.12. 01:33 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2024. Oceněni byli Andy Wingo, jeden ze správců GNU Guile, Alx Sa za příspěvky do Gimpu a Govdirectory jako společensky prospěšný projekt.

    |🇵🇸 | Komentářů: 5
    11.12. 18:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-12 aneb Eclipse 4.38. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    11.12. 17:44 | Nová verze

    U příležitosti oslav osmi let prací na debianím balíčku vyšlo GPXSee 15.6. Nová verze přináší především podporu pro geotagované MP4 soubory, včetně GoPro videí. Kdo nechce čekat, až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 21
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (19%)
     (17%)
     (23%)
     (14%)
     (24%)
     (15%)
     (17%)
    Celkem 465 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Dotaz: java problém s voláním metody, static fields...

    4.5.2011 23:10 ttff
    java problém s voláním metody, static fields...
    Přečteno: 518×
    mám aplikaci, v appView píšu kód, pak mám vlastní třídu s metodou, jenž je static. Potřebuju z té static metody volat appView metodu, která sahá na jList.

    Problém je, že ať už mám v méTřídě jakoukoliv metodu nemohu z ní volat GUI prvky (jsou private), musím volat tu mou metodu v appView. Jenomže ať už je má metoda v méTřídě static nebo ne, píše mi to, že: non-static method máMetoda() cannot be referenced from a static context

    v C# jsem to řešil, že jsem ListBox udělal public. Co v Javě?

    Řešení dotazu:


    Odpovědi

    5.5.2011 01:27 Mips
    Rozbalit Rozbalit vše Re: java problém s voláním metody, static fields...
    Ten popis není zrovna nejsnazší k pochopení, ale myslím, že jsem pochopil, o co jde. Máte třídu AppView a v ní instanční proměnnou (field) nazvanou jList. Máte taky třídu MyClass a v ní metodu doSomethingWithJList(), pomocí které chcete manipulovat s oním fieldem jList:
    class AppView {
    
        private JList jList;
    
        public List<Object> getItems() {
            //má něco dělat s jListem, který je z ostatních tříd nepřístupný
        }
        
    }
    public class MyClass {
    
        public static void myMethod() {
            //odtud se má něco udělat s JListem ze třídy AppView
        }
    
    }

    A ono to nejde a nevíte, jak na to.

    On je totiž problém s tím statickým kontextem, jak píše chybová hláška.

    Začnu trochu zeširoka:
    Když chcete číst či zapisovat nestatický field, musíte specifikovat instanci třídy, jejíž field chcete číst či zapisovat. Tuto instanci specifikujete:

    • buď explicitně pomocí tečkové notace:
      referenceNaInstanci.názevFieldu
    • nebo, není-li reference na instanci specifikována, implicitně z kontextu, ve kterém se k tomuto fieldu snažíte přistoupit

    Přistupujete-li k fieldu z nestatické metody, znamená to, že sama tato nestatická metoda byla volána na nějaké instanci, jinak řečeno v kontextu nějaké instance.
    Přistupujete-li k fieldu ze statické metody, tato metoda není volána v kontextu žádné instance (neboli je volána ve statickém kontextu) a tudíž nemůže být implicitně dána instance třídy, k jejímuž nestatickému fieldu chcete přistoupit.

    Zpátky k vašemu příkladu:

    Field AppView.jList je instanční proměnná (field), tudíž, chcete-li k ní přistupovat, musí být specifikována instance třídy AppView. Jestliže k ní přistupujete bez tečkové notace z metody getItems(), pak se tato instance převezme z kontextu metody getItems(). Aby metoda getItems() měla nějaký nestatický kontext (a ona ho musí mít, protože je nestatická), musí se volat buď pomocí tečkové notace (instanceAppView.getItems()) nebo musí být volána z nestatického kontextu třídy AppView (tedy z nestatické metody třídy AppView či jejího potomka).

    Vy se ale zřejmě snažíte metodu getItems() volat způsobem, který žádnou instanci třídy AppView nespecifikuje.

    Tím, že metodu myMethod() uděláte nestatickou, si jen vynutíte, že tato metoda musí být volána v kontextu instance třídy MyClass. Ale vy potřebujete instanci třídy AppView.

    Řešení:
    Rozmyslete si, s jakou instancí třídy AppView chcete pracovat a kdy a jak ji vytvoříte. Jakmile budete tuto instanci mít, můžete ji specifikovat jako kontext pro metodu AppView.getItems(), potažmo pro field AppView.jList.

    5.5.2011 23:37 ttff
    Rozbalit Rozbalit vše Re: java problém s voláním metody, static fields...
    klobouk dolu a díky!
    5.5.2011 08:21 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: java problém s voláním metody, static fields...
    V tomhle vám pomůže jedině nastudovat si základy objektového programování. Pro Javu doporučuju Učebnice jazyka Java od Pavla Herouta.
    5.5.2011 09:59 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: java problém s voláním metody, static fields...
    Spíš základy designu aplikace.
    In Ada the typical infinite loop would normally be terminated by detonation.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.