В лабораторной работе было задание сделать класс Student и внести туда какой-то локальный класс. Именно локальный, а не вложенный. Что такое локальный класс и чем он отличается от обыкновенного вложенного?
Главными отличиями локального класса от обыкновенного вложенного являются его местоположение, то что локальные классы не могут иметь модификаторы доступа и тот факт, что локальный класс НЕ МОЖЕТ вмещать в себя статические поля, методы, классы и тд. (за исключением final static, это может😊).
Запомните, что любой локальный класс – это внутренний класс, но не любой внутренний класс является локальным.
Разместить локальный класс можно ТОЛЬКО в пределах блока определённого метода.
Разместить внутренний класс по сути можно где угодно в пределах другого класса)
package com.company;
public class Main {
public static void main(String[] args) { }
void Method(int a){
class LocalClass{
//this is local class
}
}
class InnerClass{
//this is inner class
}
}