Variables de instancia y clase en Java

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál de las siguientes NO es una forma en que el lenguaje de programación Java define las variables?

  • Variables locales
  • Variables de clase (campos estáticos)
  • Variables de instancia (campos no estáticos)
  • Variables globales (correct)

¿Cuál es la diferencia clave entre una variable de instancia y una variable de clase en Java?

  • Las variables de clase almacenan el estado individual de los objetos, mientras que las variables de instancia almacenan un estado común a todos los objetos de la clase.
  • Las variables de instancia son accesibles desde cualquier parte del programa, mientras que las variables de clase solo son accesibles dentro de su clase.
  • Las variables de instancia se declaran con la palabra clave `static`, mientras que las variables de clase no.
  • Las variables de clase se declaran con la palabra clave `static`, mientras que las variables de instancia no. (correct)

¿Cuál de las siguientes afirmaciones describe mejor el alcance de una variable local en Java?

  • Una variable local es visible para todas las clases en el mismo proyecto.
  • Una variable local es visible para todas las subclases de la clase en la que se declara.
  • Una variable local es visible para todas las clases en el mismo paquete.
  • Una variable local es visible solo para el método en el que se declara. (correct)

En Java, ¿cuál es la convención recomendada para nombrar una variable que almacena un valor constante?

<p>Usar mayúsculas para todo el nombre de la variable y separar las palabras con guiones bajos. (C)</p> Signup and view all the answers

¿Qué término describe mejor los campos, métodos y tipos anidados de una clase?

<p>Miembros (B)</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor la diferencia entre 'field' y 'variable' en Java, según el texto?

<p>'Variable' es un término general que incluye campos, parámetros y variables locales. (C)</p> Signup and view all the answers

¿Cuál de las siguientes reglas no es una convención válida para nombrar variables en Java?

<p>Los nombres de las variables pueden ser palabras clave o palabras reservadas en Java. (B)</p> Signup and view all the answers

Considerando las convenciones de nomenclatura en Java, ¿cuál de las siguientes declaraciones de variables es la más apropiada y legible para representar el número máximo de intentos permitidos?

<p><code>static final int MAX_ATTEMPS = 3;</code> (C)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones es la MÁS precisa con respecto al uso del caracter underscore (_) y el signo de dólar ($) en los nombres de las variables en Java?

<p>Aunque técnicamente legales, las convenciones de Java desaconsejan el uso de <code>$</code> y <code>_</code> al inicio de los nombres de las variables, reservándolos para casos especiales o código autogenerado. (C)</p> Signup and view all the answers

Asumiendo que tienes una clase llamada 'Car' con una variable de instancia llamada 'speed', y otra variable de clase (estática) llamada 'numberOfCarsCreated', ¿cómo accederías a estas variables dentro de un método estático de una clase diferente llamada 'CarStatistics'?

<p>Para 'speed': Depende de una instancia de 'Car'; Para 'numberOfCarsCreated': <code>Car.numberOfCarsCreated</code> (A)</p> Signup and view all the answers

Flashcards

Variables de Instancia

Campos que almacenan el estado individual de un objeto, declarados sin static.

Variables de Clase (Campos Estáticos)

Campo declarado con el modificador static; solo existe una copia por clase.

Variables Locales

Variables temporales dentro de un método, visibles solo dentro de ese método.

Parámetros

Variables en la lista de parámetros de un método.

Signup and view all the flashcards

Identificador Legal

Secuencia de letras y dígitos Unicode, empezando con letra, '$' o '_'.

Signup and view all the flashcards

Convención de Nombres

Usar palabras completas y evitar abreviaciones crípticas.

Signup and view all the flashcards

Camel Case

Si el nombre tiene más de una palabra, se capitaliza la primera letra de cada palabra posterior.

Signup and view all the flashcards

Nombres de Constantes

Todas las letras en mayúsculas, separando palabras con guiones bajos.

Signup and view all the flashcards

Study Notes

  • Los objetos almacenan su estado en campos.
  • Algunos ejemplos de campos son:
    • int cadence = 0;
    • int speed = 0;
    • int gear = 1;
  • Es común usar los términos "campo" y "variable" indistintamente, pero en Java existen diferencias.

Tipos de Variables

  • El lenguaje de programación Java define los siguientes tipos de variables:

Variables de instancia (campos no estáticos)

  • Almacenan el estado individual de los objetos.
  • Se declaran sin la palabra clave static.
  • También se conocen como variables de instancia porque sus valores son únicos para cada instancia de una clase.
  • Ejemplo: la velocidad actual (currentSpeed) de una bicicleta es independiente de la velocidad actual de otra.

Variables de clase (campos estáticos)

  • Se declaran con el modificador static.
  • Existe una sola copia de esta variable, sin importar cuántas veces se instancie la clase.
  • Ejemplo: un campo que define el número de marchas para un tipo particular de bicicleta podría ser static, ya que el mismo número de marchas se aplicará a todas las instancias.
  • El código static int numGears = 6; crearía un campo estático.
  • La palabra clave final puede añadirse para indicar que el número de marchas nunca cambiará.

Variables locales

  • Un método almacena su estado temporal en variables locales.
  • La sintaxis para declarar una variable local es similar a la de un campo (ej., int count = 0;).
  • No hay una palabra clave especial que designe una variable como local; se determina por la ubicación en la que se declara (entre las llaves de apertura y cierre de un método).
  • Las variables locales solo son visibles para los métodos en los que se declaran; no son accesibles desde el resto de la clase.

Parámetros

  • Los parámetros son siempre clasificados como "variables" y no como "campos".

  • Esto aplica a otras estructuras que aceptan parámetros (como constructores y manejadores de excepciones).

  • Ejemplo: en public static void main(String[] args), la variable args es el parámetro de este método.

  • Los campos, métodos y tipos anidados de un tipo se denominan colectivamente sus miembros.

Nomenclatura

  • Cada lenguaje de programación tiene su propio conjunto de reglas y convenciones para los tipos de nombres que se pueden utilizar.

Reglas y convenciones para nombrar variables en Java:

  • Los nombres de las variables distinguen entre mayúsculas y minúsculas.
  • El nombre de una variable puede ser cualquier identificador legal: una secuencia de longitud ilimitada de letras y dígitos Unicode, que comience con una letra, el signo de dólar "$" o el carácter de subrayado "_".
  • Sin embargo, la convención es siempre comenzar los nombres de las variables con una letra, no "$" o "_".
  • El carácter de signo de dólar, por convención, nunca se utiliza en absoluto.
  • Existe una convención similar para el carácter de subrayado; aunque técnicamente es legal comenzar el nombre de una variable con "_", esta práctica no se recomienda.
  • No se permiten espacios en blanco.
  • Los caracteres posteriores pueden ser letras, dígitos, signos de dólar o caracteres de subrayado.
  • Al elegir un nombre para las variables, utilice palabras completas en lugar de abreviaturas crípticas, para que el código sea más fácil de leer y entender.
  • El nombre elegido no debe ser una palabra clave o palabra reservada.
  • Si el nombre elegido consta de una sola palabra, escríbala en minúsculas.
  • Si consta de más de una palabra, ponga en mayúscula la primera letra de cada palabra posterior.
  • Los nombres gearRatio y currentGear son ejemplos de esta convención.
  • Si la variable almacena un valor constante, como static final int NUM_GEARS = 6, la convención cambia ligeramente, poniendo en mayúscula cada letra y separando las palabras posteriores con el carácter de subrayado.
  • Por convención, el carácter de subrayado nunca se utiliza en otras partes.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Java Methods and Object Relationships
12 questions
Equazioni di Maxwell (Caso Statico)
23 questions

Equazioni di Maxwell (Caso Statico)

IntegratedNovaculite5475 avatar
IntegratedNovaculite5475
Static Electricity and Coulomb's Law
13 questions
Use Quizgecko on...
Browser
Browser