M
Mr.InF3ction
Гостин
Во принцип е многу проста работа но многу лесно може да збуни...Проблемот е поврзан со Nested Classes односно со креирањето на објект од static Inner или само inner објект. Ако може некој да ми ги објасни овие два реда код
иКод:OuterClass.StaticNestedClass nestedObject = [B]new OuterClass.StaticNestedClass();[/B]
Ме збунува креирањето на објектите од статичната внатрешна класа и од обичнатаКод:OuterClass.InnerClass innerObject =outerObject.new InnerClass();
Да предпоставам дека не знаеш што е static и да објаснам што е : Кратко јасно знаеш дека во јава се е со класи и затоа ако пред некоја променлива, функција,класа стои static тоа значи дека таа променлива, функција или класа постои и може да се повика-користи без да постои објект од таа класа каде што се наоѓа таа променлвиа, функција или класа, исто така истите вредности што ги има таа променлива, функција или класа важи за сите направени објекти од таа класа.
Е сега тука е момент што значи дека внатрешната static класа ние може да ја користиме без да постои надворешната главна класа. И затоа ни е дозволено ова:
Код:
OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
А сега за внатрешните класи кои што не се static важи и истото правило како и за сите други променливи, функции,..а тоа правило е дека постојат и можат да се користат само ако постои објект од надворешната класа. глуп пр:
Код:
public class nekojaKlasa{
public int x;
}
Истото е и со внатрешната класа, прво морам да направам објект од надворешната класа:
Код:
OuterClass outerObject = new OuterClass ();
Код:
OuterClass.InnerClass innerObject =outerObject.new InnerClass();
Despod
Предпоставув дека веќе знаеш тоа...секој счучај alt+enter на тој ред кај што јавува "грешка" ќе даде предлог за решение... или ctrl+shift+i да импортира се што треба