NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: importovanie class a pouzivanie class.fornName

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

Aktivity
Avatar
alex
Člen
Avatar
alex:29.9.2016 19:35

Ahoj , cital som o Class initializer a snazil som sa s tym hrat.

struktura vyzera nasledovne

Source packages
     pa
        test.java
     mainfile
        mainfile.java

( pouzivam netBeans )

v test.java sa nachadza

package pa;

public class test {
    static{
        System.out.println("hey");
    }
    public test(){
        System.out.println("im here");
    }
}

a v mainfile.java

package mainfile;
import pa.*;
public class mainfile {
    public static void main(String[] args) {
        // TODO code application logic here
        Class booki = Class.forName("pa.test");
    }

}

No stale hadze error

xception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown

ked som skusil

Class booki = Class.forName("test");

tak to robilo to iste , no ked som vytvoril instanciu classi test tak to islo.

Co sa kompilatoru nepaci?
Dik za odpoved

 
Odpovědět
29.9.2016 19:35
Avatar
wgamez101
Člen
Avatar
Odpovídá na alex
wgamez101:29.9.2016 20:54

Chyba hlási že nemáš ošetrenú výnimku pri tomto riadku

Class booki = Class.forName("pa.test");

pridaj tam try-catch blok alebo pri deklarácií main funkcie pridaj throws a malo by to fungovať.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
29.9.2016 20:54
There are only two kinds of programming languages: those people always bitch about and those nobody uses. -- Bjarne...
Avatar
Atrament
Člen IT Redactor Gang
Avatar
Odpovídá na alex
Atrament:30.9.2016 1:00

Já bych jenom doplnil, že Netbeans na tyhle 'chyby' upozorňuje už při psaní kódu. Když jsi napsal ten řádek

Class booki = Class.forName("pa.test");

tak se ti to určitě podtrhlo červeně a zobrazila se ti žárovička v levém okraji editoru. Pak stačí kliknout na tu žárovičku a z menu vybrat co se má udělat.

 
Nahoru Odpovědět
30.9.2016 1:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.