Hello.
There are three classes. Plain, abstract and abstract heir.
A regular class contains an abstract variable, where, after some manipulations, an object of the heir is written.
Abstract:
public abstract class LessonInfo { static String NAME; static int COUNT_QUESTION; static int[] PARTS; static String[] INFO_QUESTIONS; static int[] MARK_QUESTIONS; }
Heir:
public class RussianInfo extends LessonInfo { static final String NAME = "Π ΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ"; static final int COUNT_QUESTION = 24; static final int[] PARTS = {24}; static final String[] INFO_QUESTIONS = {"ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠ°", "Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ²ΡΠ·ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ", "ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°", "ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΄Π°ΡΠ΅Π½ΠΈΡ", "Π£ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ½ΠΈΠΌΠΎΠ²", "ΠΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½ΠΎΡΠΌΡ", "Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½ΠΎΡΠΌΡ", "ΠΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅ΠΉ", "ΠΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΡΡΠ°Π²ΠΎΠΊ", "ΠΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΈΠΊΡΠΎΠ²", "ΠΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³Π»Π°Π³ΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡΠΈΡΠ°ΡΡΠΈΠΉ", "ΠΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΠ ΠΈ ΠΠ", "Π‘Π»ΠΈΡΠ½ΠΎΠ΅ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²", "ΠΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ -Π- ΠΈ -ΠΠ_", "ΠΡΠ½ΠΊΡΡΠ°ΡΠΈΡ", "ΠΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅Π½Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ", "ΠΡΠ½ΠΊΡΡΠ°ΡΠΈΡ Π²ΠΎ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ
ΡΠ». ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ", "ΠΡΠ½ΠΊΡΡΠ°ΡΠΈΡ Π² Π‘ΠΠ", "ΠΡΠ½ΠΊΡΡΠ°ΡΠΈΡ Π² ΡΠ°Π·ΡΡ
ΡΠΈΠΆΠ°Ρ
ΡΠ²ΡΠ·ΠΈ", "Π‘ΠΌΡΡΠ»ΠΎΠ²Π°Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ°", "Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΌΡΡΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΠΈ", "ΠΠ΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°", "Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ²ΡΠ·ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ", "Π‘ΡΠ΅Π΄ΡΡΠ²Π° Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ" }; static final int[] MARK_QUESTIONS = {2,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,25}; }
Normal (fragment):
public class TestActivity extends AppCompatActivity { LessonInfo info; static LessonInfo lessonInfo; @Override protected void onCreate(Bundle savedInstanceState) { lessonInfo = new RussianInfo(); } }
After the command "NormalActiviti.lessonInfo.MARK_QUESTIONS [i]" the application does not crash.
What's wrong? I think, messed up with an abstract class and his successor