S
Try the abstract class to create an abstract method initVariables and call it in the designer of the abstract class. In each of the heirs, this method is being implemented and the variables initiated. Also, you don't have to make any variables in abstract class. staticbecause the significance of this variable will be the same for all Class copies.Abstract:public abstract class LessonInfo {
public String name;
public int countQuestion;
public int[] parts;
public String[] infoQuestions;
public int[] markQuestions;
public LessonInfo() {
initVariables();
}
public abstract void initVariables();
}
Lead:public class RussianInfo extends LessonInfo{
@Override
public void initVariables() {
name = "Русский язык";
countQuestion = 24;
parts = new int[]{24};
infoQuestions = new String[]{"Определение главной информации текста", "Средства связи предложений",
"Лексическое значение слова", "Постановка ударения", "Употребление паронимов",
"Морфологические нормы", "Синтаксические нормы", "Правописание корней",
"Правописание приставок", "Правописание суффиксов", "Правописание глаголов и причастий",
"Правописание НЕ и НИ", "Слитное и раздельное написание слов", "Правописание -Н- и -НН_",
"Пунктуация", "Обособленные члены предложения", "Пунктуация во второстепенных чл. предложения",
"Пунктуация в СПП", "Пунктуация в разых тижах связи", "Смысловая целостность текста",
"Функционально-смысловые типы речи", "Лексическое значение слова", "Средства связи предложений",
"Средства выразительности"};
markQuestions= new int[]{2,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,25};
}
}
Activations:public class MainActivity extends AppCompatActivity {
private LessonInfo lessonInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lessonInfo = new RussianInfo();
Log.d("MainActivity", "lessonInfo.name" + lessonInfo.name);
Log.d("MainActivity", "lessonInfo.markQuestions" + lessonInfo.markQuestions.toString());
Log.d("MainActivity", "lessonInfo.infoQuestions" + lessonInfo.infoQuestions.toString());
}
}
By the way, variable. lessonInfo You don't have to make a modifier, either. static♪