logo

Encasillamiento en Java

La conversión encasillada en Java es el proceso de convertir un tipo de datos en otro tipo de datos utilizando el operador de conversión. Cuando asigna un valor de un tipo de datos primitivo a otro tipo, esto se conoce como conversión de tipos. Para permitir el uso de una variable de una manera específica, este método requiere indicar explícitamente al compilador de Java que trate una variable de un tipo de datos como una variable de otro tipo de datos.

Sintaxis:



 variableName = () value;>

Tipos de fundición tipográfica

Hay dos tipos de conversión de tipos en Java:

  • Fundición tipo ampliación
  • Fundición de tipo estrecho

Fundición tipo ampliación

Un tipo de datos inferior se transforma en uno superior mediante un proceso conocido como conversión de tipos de ampliación. La conversión de tipos implícitos y la reducción de tipos son algunos de los nombres para ello. Ocurre de forma natural. Como no hay posibilidad de pérdida de datos, es seguro. La fundición de tipo ensanchamiento ocurre cuando:

  • El tipo de destino debe ser mayor que el tipo de origen.
  • Ambos tipos de datos deben ser compatibles entre sí.

Sintaxis:



relleno css
larger_data_type variable_name = smaller_data_type_variable;>


Java






// Java program to demonstrate Widening TypeCasting> import> java.io.*;> > class> GFG {> >public> static> void> main(String[] args)> >{> >int> i =>10>;> > >// Wideing TypeCasting (Automatic Casting)> >// from int to long> >long> l = i;> > >// Wideing TypeCasting (Automatic Casting)> >// from int to double> >double> d = i;> > >System.out.println(>'Integer: '> + i);> >System.out.println(>'Long: '> + l);> >System.out.println(>'Double: '> + d);> >}> }>

ley distributiva álgebra booleana
>

>

Producción

Integer: 10 Long: 10 Double: 10.0>

Fundición de tipo estrecho

El proceso de reducir el tamaño de un tipo de datos más grande a uno más pequeño se conoce como conversión de tipo estrecha. Casting up o casting de tipo explícito son otros nombres para esto. No sucede por sí solo. Si no lo hacemos explícitamente, se producirá un error en tiempo de compilación. Restringir la conversión de tipos no es seguro porque puede producirse una pérdida de datos debido al rango más pequeño de valores permitidos del tipo de datos inferior. Un operador de reparto ayuda en el proceso de casting explícito.

Sintaxis:

smaller_data_type variable_name = (smaller_data_type) larger_data_type_variable;>

Ejemplo:

Java




sueño javascript
// Java Program to demonstrate Narrow type casting> import> java.io.*;> > class> GFG {> >public> static> void> main(String[] args)> >{> >double> i =>100.245>;> > >// Narrowing Type Casting> >short> j = (>short>)i;> >int> k = (>int>)i;> > >System.out.println(>'Original Value before Casting'> >+ i);> >System.out.println(>'After Type Casting to short '> >+ j);> >System.out.println(>'After Type Casting to int '> >+ k);> >}> }>

>

>

Producción

Original Value before Casting100.245 After Type Casting to short 100 After Type Casting to int 100>

Tipos de casting explícito

Principalmente existen dos tipos de Casting Explícito:

  • Upcasting explícito
  • Downcasting explícito

Upcasting explícito

La conversión ascendente es el proceso de convertir un subtipo en un supertipo en la dirección ascendente del árbol de herencia. Cuando una variable de referencia de superclase hace referencia a un objeto de subclase, se activa un proceso automático sin ningún esfuerzo adicional.

Ejemplo:

Java

número primo en java




// Java Program to demonstrate Explicit Upcasting> import> java.io.*;> > class> Animal {> >public> void> makeSound()> >{> >System.out.println(>'The animal makes a sound'>);> >}> }> > class> Dog>extends> Animal {> >public> void> makeSound()> >{> >System.out.println(>'The dog barks'>);> >}> > >public> void> fetch()> >{> >System.out.println(>'The dog fetches a ball'>);> >}> }> class> GFG {> >public> static> void> main(String[] args)> >{>// Upcasting> >Animal animal =>new> Dog();> >// Calls the overridden method in Dog class> >animal.makeSound();> >// This would give a compile error as fetch() is not> >// a method in Animal class> >// animal.fetch();> >}> }>

>

>

Producción

The dog barks>

Downcasting explícito

Cuando un tipo de subclase se refiere a un objeto de la clase principal, el proceso se denomina downcasting. Si se hace manualmente, el compilador emite un error ClassCastException en tiempo de ejecución. Solo se puede hacer utilizando el operador instancia de. Sólo es posible abatir un objeto que ya ha sido abatido.

Ejemplo:

Java




// Java Program to demonstrate Explicit downcasting> import> java.io.*;> class> Animal {> >public> void> eat()> >{> >System.out.println(>'The animal is eating.'>);> >}> }> > class> Cat>extends> Animal {> >public> void> meow()> >{> >System.out.println(>'The cat is meowing.'>);> >}> }> > class> GFG {> >public> static> void> main(String[] args)> >{> >Animal animal =>new> Cat();> >animal.eat();> > >// Explicit downcasting> >Cat cat = (Cat)animal;> >cat.meow();> >}> }>

¿Qué es el comando de exportación en Linux?

>

>

Producción

The animal is eating. The cat is meowing.>