Вот есть фрагмет кода, он компилируется и так и так, разницы никакой, так как же правильно и в чем разница? По идее правильный второй вариант, вот даже ссылка на хабр https://habrahabr.ru/post/342090/, почему же тогда первый тоже компилируется и прекрасно работает, кто знает объясните в чем разница?
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) {
//Объект вложенного класса можно создать и так
Human human1 = new Human();
// И вот так, разницы никакой
Solution.Human human2 = new Solution.Human();
}
public static class Human {
}
}