Przeprowadziłem więc test jUnit i chciałem napisać odrębne klasy, które miały podobną funkcjonalność, ale były wystarczająco małe, aby pisać w ramach jednej klasy. Niezależnie od decyzji dotyczącej projektu spowodowało to błąd kompilatora. Nie jestem pewien, jakie są reguły dotyczące tego, co widziałem.Statyczne klasy wewnętrzne wymagają importu dla adnotacji.
Można sobie wyobrazić, że to wyglądać
package foo;
@RunWith(Suite.class)
@SuiteClasses({ TestClassOne.class, TestClassTwo.class })
public class TestSuite{
@RunWith(SpringJUnit4ClassRunner.class)
public static class TestClassOne{
}
@RunWith(SpringJUnit4ClassRunner.class)
public static class TestClassTwo{
}
}
Teraz gdy kompilator wykopuje go powie TestClassOne nie mogą być rozwiązane do rodzaju. Istnieje prosty sposób rozwiązania tego problemu. Wymagałoby to na przykład wyraźnego importu klasy statycznej.
import foo.TestSuite.TestClassOne;
import foo.TestSuite.TestClassTwo;
moje pytanie, może ktoś wytłumaczyć co kompilator przepisy lub powody mogą istnieć na adnotacje, aby nie być w stanie zobaczyć klasę statyczną klasę wewnętrzną. Należy pamiętać, że klasa prywatna pakietu jest dobrze widoczna i kompiluje się bez importowania.
Dobrze wyjaśnione, dziękuję. –