Java - Metodo main mezclado en una clase y uso de new sin declaración

 
Vista:
sin imagen de perfil

Metodo main mezclado en una clase y uso de new sin declaración

Publicado por Jordi (135 intervenciones) el 25/02/2017 23:44:50
Hola a todos y gracias de antemano por pasaros a leer el tema.
Mi duda es la siguiente:

-Estoy intentando aprender sobre el tema de "representar" cosas en una ventana, y en una página web me he encontrado con una estructura de un programa que con la clase de JFrame dibuja tres formas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package Nau;
import javax.swing.*;
import java.awt.*;
 
public class TestFiguras extends JFrame{
     public TestFiguras(){
          setSize(400,400);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setLocationRelativeTo(null);
          setVisible(true);
     }
 
     public static void main(String a[]){ //Parte que no entiendo 1
         new TestFiguras(); //Parte que no entiendo 2
     }
     public void paint(Graphics g){ //Parte que no entiendo 3
         g.drawOval(40, 40, 60, 60); //Dibuja un circulo
         g.drawRect(80, 30, 200, 200); // Dibuja un cuadrado
         g.drawRect(200, 100, 100, 200); // Dibuja un rectángulo
 
     }
}

-Este es el programa, y yo me pregunto:
¿Como es que se puede poner un método main en mitad de una clase y que utilidad tiene?
¿Como es que puede ejecutar la clase usando 'new TestFiguras();' sin declarar nada antes, con la típica estructura de 'Tipo nombre = new Tipo();' ?
¿Como es que se ejecuta el método 'paint' sin que se le pase ningún parámetro?

Supongo que ahora los que ya dominéis el tema de java estaréis pensando: este tío no se conoce ni las sintaxis básicas de java y ya quiere ponerse a hacer cosas de nivel medio-avanzado con JFrame.
Pues si es el caso, aviso que estoy intentando aprender a programar Java por ahora yo solo, y que al no disponer de un temario que siga un orden, tengo que espabilarme como pueda para ir encontrando cosas nuevas que aprender sobre el tema. Así que si alguien conoce de algún temario/orden a seguir para ir aprendiendo a programar Java estaría encantadíssimo si me dejarais el nombre para googlearlo.

Muchas gracias y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder