1.基本数据类型的Casting
(1)自动类型转换
小的数据类型可以自动转换成大的数据类型。如下:
long a = 1; double b = 1f;
(2)强制类型转换
大的数据类型可以强制转换成小的。如下:
int a = (int)1L; float b = (float)1d;
2.造型
对Java对象的强制类型转换称为造型。
(1)子类到父类
从子类到父类的类型转换可以自动进行。如下:
class Person {}
class Student extends Person {}
public class Test {
public static void main(String[] args) {
Student stu = new Student();
Person p = stu;
}
}
(2)父类到子类
从父类到子类的类型转换必须通过造型(强制类型转换)实现。如下:
class Person {}
class Student extends Person {}
public class Test {
public static void main(String[] args) {
Person p = new Person();
Student s = (Student) p;
}
}
(3)无继承关系
无继承关系的引用类型间的转换是非法的。