Campo de clase y campo de instancia en Java
- la variable local en Java
- el parámetro de entrada en Java
- el campo de clase en Java
- las propiedades del campo de clase en Java
- el campo de instancia en Java
- las propiedades del campo de instancia en Java
Este artículo aprenderá los términos básicos del lenguaje de programación Java, como variables locales, parámetros de entrada, campos de clase y campos de instancia en Java.
la variable local en Java
Una variable cuyo alcance está vinculado al bloque, método o constructor se denomina variable local. Digamos que tenemos un método, testing
.
Declaramos una variable val
y asignamos 10
a este método. Escriba la instrucción print
dentro del bloque main
.
public class Experiment {
public static void testing() {
int val = 10;
}
public static void main(String[] args) {
// try printing the local variable of the function demo
System.out.printf("%d", val);
}
}
Producción :
error: cannot find symbol
System.out.printf("%d", val);
^
symbol: variable val
location: class Experiment
1 error
Aunque la variable val
está presente en este código, obtenemos un error. Aquí, la variable val
es una variable local del método testing()
.
Dado que se define dentro del método testing
, su alcance es limitado. Obtenemos un error cuando la instrucción print
intenta acceder a esta variable fuera de este ámbito.
Ahora, declara la instrucción print
dentro del método testing
y llama al método desde el bloque main
.
public class Experiment {
public static void testing() {
int val = 10;
System.out.printf("%d", val);
}
public static void main(String[] args) {
// call the method
testing();
}
}
Producción :
10
Esta vez, la instrucción print
accede a la variable desde su alcance.
Ahora intente averiguar la variable local en este código.
public class Treat {
public static void main(String[] args) {
for (int i = 0, i < 1; i++) {
System.out.println("You will get a Cake if you answer correctly!");
}
}
}
La variable i
es una variable local. Su ámbito se limita al bucle for
.
Tenga en cuenta los siguientes puntos acerca de las variables locales:
- No podemos usar modificadores de acceso como
public
,protected
yprivate
para declarar variables locales. - Estas variables se implementan internamente en el nivel de la pila.
el parámetro de entrada en Java
Parte de la información debe ejecutarse, mientras que otras no. Mira este método welcome
.
public class Greet {
// a function that does not need any parameter or information
public static void welcome() {
System.out.println("Hello, we are happy you visited.");
}
public static void main(String[] args) {
// call the function
welcome();
}
}
Producción :
Hello, we are happy you visited.
Llamamos al método sin pasar ningún valor en él. No damos ninguna información a este método, y se ejecuta correctamente.
public class Test {
// a function that needs some information/parameter
public static void hello(int x) {
int a;
System.out.println("Hello, we are happy you visited.");
if (x < 18) {
a = 18 - x;
System.out.printf("Please come back after %d years.", a);
}
}
public static void main(String[] args) {
int age = 2;
// call the function
hello(age);
}
}
Producción :
Hello, we are happy you visited.
Please come back after 16 years.
El método hola
no se ejecutará correctamente si no le pasamos un valor para edad
.
El método recibe este valor a través de la variable x
definida entre paréntesis. La variable x
no es más que un parámetro de entrada o, simplemente, un parámetro.
Un parámetro de entrada o un parámetro en Java es una variable utilizada para definir un método para ayudar a ejecutar el método.
No mezcle parámetros con argumentos. Tienen el mismo valor, pero no son lo mismo.
public class Test {
// function to add ages
public static int totalAge(int age1, int age2) {
return age1 + age2;
}
public static void main(String[] args) {
int a1 = 10;
int a2 = 12;
int total = totalAge(a1, a2);
System.out.println("Sum of ages: " + total);
}
}
Producción :
Sum of ages: 22
Aquí, edad1
y edad2
son los parámetros de entrada.
el campo de clase en Java
Cualquier variable dentro de una clase puede denominarse field
en Java. Todas las variables como price
, quantity
y name
son campos.
Sin embargo, tenga en cuenta que la variable quantity
comienza con la palabra clave static
. Estos campos con la palabra clave static
en su definición se llaman campos de clase en Java.
Los campos de clase también se denominan variables de class
o campos estáticos en Java.
class Cake {
int price;
static int quantity;
string name;
}
las propiedades del campo de clase en Java
Los siguientes puntos son un campo de clase:
- Un campo de clase debe declararse con la palabra clave
static
.
public static NameOfClass {
static datatype name_of_variable;
}
- Muchas instancias de una clase comparten el campo de clase y, por lo tanto, los campos de clase son eficientes en memoria. En palabras muy simples, el valor de un campo de instancia es el mismo para todas las instancias de una clase en Java.
- Podemos acceder a un campo de clase en Java utilizando una instancia de la clase y el propio nombre de la clase. Tenga en cuenta que no se necesita necesariamente una instancia para acceder a ningún campo estático.
class Cake {
int price;
static int quantity = 10;
String name;
public static void main(String[] args) {
// create the object of Cake class
Cake c1 = new Cake();
// Access the class field using the object
System.out.println(c1.quantity);
// Access the class field using the class
System.out.println(Cake.quantity);
}
}
Producción :
10
10
En el ejemplo anterior, accedemos al campo de clase usando un objeto usando el operador punto como este - c1.cantidad
. De manera similar, para acceder a la variable por clase, use el nombre de clase Cake.quantity
.
el campo de instancia en Java
public class Cake {
int cost;
String flavor;
public Cake(int cost, String flavor) {
this.cost = cost;
this.flavor = flavor;
}
public int expense() {
return cost;
}
public static void main(String[] args) {
Cake cake1 = new Cake(1000, "Choco lava");
Cake cake2 = new Cake(2000, "Pineapple");
System.out.println(cake1.expense());
System.out.println(cake2.expense());
}
}
Producción :
1000
2000
Dentro de la clase Cake
, tenemos dos variables: cost
y flavor
. Creamos cake1
y cake2
.
Estas variables que pueden tomar diferentes valores para diferentes objetos se denominan variables de instancia
o campos de instancia
.
las propiedades del campo de instancia en Java
Los campos de instancia en Java también se denominan variables no estáticas. Aquí hay algunos puntos sobre los campos de instancia.
- Los campos de instancia no se declaran con la palabra clave
static
de Java.
public class ClassName {
datatype variable_name;
}
- No se comparten con todas las instancias. Cada instancia puede tener su valor único para un campo de instancia en Java.
- Viste cómo podíamos acceder a un campo de clase con la ayuda de la propia clase. Bueno, esto no es cierto para un campo de instancia en Java. Necesitamos una
instancia/objeto
para acceder a un campo de instancia en Java. - Podemos usar cualquier especificador de acceso con un campo de instancia en Java. Consulte esta documentación para obtener más información sobre los campos en Java.