es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cuál es el método correcto para utilizar Static en Java y escribir código?

Tengo 2 fragmentos de código:
en uno todo está envuelto en la clase principal y tanto los métodos como las clases se declaran estáticos. En el segundo fragmento las clases están afuera de la clase principal y solo los métodos se declaran estáticos. Mis preguntas son:
– ¿cuál es la manera correcta de hacer las cosas?
– ¿porque si están en el método principal todo debe ser estático mientras que fuera solo los métodos deben serlo?

class main{

   static class numeri{
      int a;
      int b;
      static int result;

      static void sommaNumeri(int a, int b){
         System.out.println("contenido de la superclase " + (a + b));
         result = ( a + b);
         System.out.println(result);
      }// fin del método sommaNumeri
   }//fin de la clase numeri

   static class numeri2 extends numeri{
      int c;
      int d;

      static void sommaNumeri2(int a, int b, int c, int d){
         System.out.println("contenido de la subclase " + (a + b + c + d));
      }// fin del método sommaNumeri2
   }//fin de la clase numeri2

   public static void main(String args[]){
      numeri.sommaNumeri(3, 5);
      numeri2.sommaNumeri2(4, 6, 7, 9);
      numeri2.sommaNumeri(8, 9);
   }// fin del método principal
}// fin de la clase principal
class numeri{
   int a;
   int b;
   static int result;

   static void sommaNumeri(int a, int b){
      System.out.println("contenido de la superclase " + (a + b));
      result = ( a + b);
      System.out.println(result);
   }//fin del método sommaNumeri
}//fin de la clase numeri

class numeri2 extends numeri{
   int c;
   int d;

   static void sommaNumeri2(int a, int b, int c, int d){
      System.out.println("contenido de la subclase " + (a + b + c + d));
   }//fin del método sommaNumeri2
}//fin de la clase numeri2

class main{
   public static void main(String args[]){
      numeri.sommaNumeri(3, 5);
      numeri2.sommaNumeri2(4, 6, 7, 9);
      numeri2.sommaNumeri(8, 9);
   }//fin del método principal
}//fin de la clase principal
Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en informática especializado en Java, ambas formas de organizar el código son válidas dependiendo del contexto en el que se utilizan.

    En el primer fragmento de código, la clase principal contiene ambas clases (numeri y numeri2), y ambas se declaran como estáticas. Esto significa que estas clases se pueden acceder sin crear una instancia de la clase principal. Los métodos dentro de las clases también se declaran como estáticos, lo que les permite ser accedidos sin crear una instancia de la clase.

    En el segundo fragmento, solo los métodos dentro de las clases se declaran como estáticos, mientras que las clases mismas se declaran fuera de la clase principal. Esto significa que las clases deben ser instanciadas antes de poder ser utilizadas.

    El enfoque a utilizar depende del contexto del código y de lo que el código pretende lograr. Si el código está estructurado para ser utilizado en una sola clase principal y no requiere instancias de las clases, entonces el enfoque utilizado en el primer fragmento es apropiado. Sin embargo, si el código está diseñado para ser reutilizado en diferentes contextos, entonces el enfoque utilizado en el segundo fragmento es apropiado.

Comments are closed.