Lägg till följande överst i båda klasser:
package test;
Jag testade först din kod i netbeans och modifierade sedan enligt ändringarna jag postade ovan och det fungerade.
Dubbelkollade och om du gör så att klasserna tillhör samma paket så ska det fungera. Om du kör i netbeans så kan det ibland vara segt med att ta bort felen, rödunderstrykning på syntax men detta försvinner om du kompilerar.
Ett bra "standardsätt" när man håller på med java-programmering är att dela upp källkod och klasser så att man skapar en katalog som heter src och en som heter bin.
Exempel:
d:\Project\Java\test1\src\
och
d:\Project\Java\test1\bin\
under src ska filerna helst ligga i samma struktur som paketstrukturen men det är inte nödvändigt. Det finns dock en poäng med det...
När du sedan kompilerar så ställer du dig i src-katalogen och skriver:
Okej... då var vi inne på en klassiker... nämeligen vad klasser egentligen heter.
Antar att Category.java ser ut såhär:
package test;
public class Category {
private int id;
private String name;
public Category() {
}
}
Det betyder att klassen EGENTLIGEN heter test.Category.
Om du ska änvända den i klassen Test måste du antingen kalla den för dess fulla namn eller säga till i klassen test att den även skall använda klasser i namnrymden 'test' som klassen Category ligger i.
Det gör man antingen såhär:
public class Test {
public Test() {
// Do something
}
public void createCategory() {
[b]test.Category[/b] c = new [b]test.Category()[/b];
}
}
eller såhär
[b]import test.Category;[/b]
public class Test {
public Test() {
// Do something
}
public void createCategory() {
Category c = new Category();
}
}
126 ms totalt · 3 externa anrop · v20260731065814-full.55e59744