Java é simples, de complicado nada tem...
Simplesmente tem que se entender bem as bases...
Principalmente o que é uma Classe...
apartir do momento que se aprende o que é uma classe, o resto é fazer pseudo-codigo, estruturar uma ideia, e passar para código com a notação de java...
Java é orientado a objectos, e é baseada em reaproveitar código, mais propriamente classes...
Podes criar vários programas, e por exemplo quando fores criar um novo programa, reaproveitar classes de programas anteriores...
Por exemplo...
Supondo que crias um programa para te criar circulos...
Terás uma classe chamada Circulo, para criares um circulo, ou saber algo de um circulo, o que é necessário?
Para criar, basta-nos um raio... criarCirculo(raio);
para saber a área por exemplo, basta nos fazer a conta pi*r^2.. area(raio);
Logo teremos os constructores e 2 funções nesta classe circulo...as funções serão uma para criar circulos e outra para saber a área..
Portanto neste momento temos uma classe circulo...para criar um circulo o que precisamos?
um Main...
Agora teremos um main que chama a classe circulo e que lhe passa um raio...
no main iremos ter algo do genero..
Circulo cir1 = new Circulo();
cir1.criarCirculo(20);
Em que a primeira linha estamos a dizer "Olha cria um circulo chamado "cir1" "...
e na segunda linha dizemos "nesta variavel cir1, quero armazenar um circulo com raio 20"...
Agora dizes tu, para quê esta explicação?!...
Simples...crias te um programa que te cria circulos, isto serve para quê? nada....
Mas por exemplo...agora queres criar um programa xpto, que até queres um menu, que tem os botoes redondos...
Crias o teu novo programa, e vais criar novamente os botoes? não...
Basta fazeres um import da tua classe "Circulo" que fizes te e que não servia para nada...
A isto chama-se reutilizar código, e o Java baseia-se muito nisto, para isso se cria classes...
Fazer em Python é mais facil? é capaz...não digo que não, depende da aptidão de cada um...
Mas em python es capaz de ter um problema, tens que criar quase tudo tu...enquanto que em java encontras muitas classes por essa net fora que basta fazer import e passar-lhe os argumentos que ela pede nas funções...
É só uma opinião..
Cumprimentos,
André Carvalho.