java中的缩小_在Java中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...
Java中的类型转换用于将一种类型的对象或变量转换为另一种类型。当我们将一种数据类型转换或分配给另一种数据类型时,它们可能不兼容。如果合适的话,它将顺利进行,否则会丢失数据。
Java中的类型转换类型
Java类型转换分为两种类型。加宽转换(隐式)–自动类型转换
缩小转换(显式)–需要显式转换
加宽铸件(从小到大)
加宽ŤYPE转换如果两个类型兼容和目标类型比源类型较大可能发生。当两种类型兼容并且目标类型大于源类型时,会进行扩展转换。
例1public class ImplicitCastingExample {
public static void main(String args[]) {
byte i = 40;
//低于转化率无需投放
short j = i;
int k = j;
long l = k;
float m = l;
double n = m;
System.out.println("byte value : "+i);
System.out.println("short value : "+j);
System.out.println("int value : "+k);
System.out.println("long value : "+l);
System.out.println("float value : "+m);
System.out.println("double value : "+n);
}
}
输出结果byte value : 40
short value : 40
int value : 40
long value : 40
float value : 40.0
double value : 40.0
类类型的拓宽转换
在下面的示例中,Child类是较小的类型,我们将其分配给Parent类类型,后者是较大的类型,因此不需要强制转换。
例2class Parent {
public void display() {
System.out.println("Parent class display() called");
}
}
public class Child extends Parent {
public static void main(String args[]) {
Parent p = new Child();
p.display();
}
}
输出结果Parent class display() method called
缩小铸件(从大到小)
当我们将较大的类型分配给较小的类型时,需要显式转换。
例1public class ExplicitCastingExample {
public static void main(String args[]) {
double d = 30.0;
//下面的转换需要显式转换
float f = (float) d;
long l = (long) f;
int i = (int) l;
short s = (short) i;
byte b = (byte) s;
System.out.println("double value : "+d);
System.out.println("float value : "+f);
System.out.println("long value : "+l);
System.out.println("int value : "+i);
System.out.println("short value : "+s);
System.out.println("byte value : "+b);
}
}
输出结果double value : 30.0
float value : 30.0
long value : 30
int value : 30
short value : 30
byte value : 30
缩小类类型
当我们将较大的类型分配给较小的类型时,我们需要显式地进行类型转换。
例2class Parent {
public void display() {
System.out.println("Parent class display() method called");
}
}
public class Child extends Parent {
public void display() {
System.out.println("Child class display() method called");
}
public static void main(String args[]) {
Parent p = new Child();
Child c = (Child) p;
c.display();
}
}
输出结果Child class display() method called
总结
以上是生活随笔为你收集整理的java中的缩小_在Java中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java 泛型集合应用_Java泛型集合
- 下一篇: java 只读数组_在Java 8中创建