子类的对象就是父类的对象
类变量是变量的管理者
子类对象可以赋值给父类对象
子类对象可以传值给需要父类对象的函数
子类对象可以船只给需要父类对象的容器
多态对象
Java中所有对象变量都是多态的,变量有静态的声明类型和动态类型程序运行到这里时的具体类型
向上造型cast
将一个子类对象赋值给他的父类对象的过程叫做向上造型(就是将子类对象赋值给父类变量) 实际上是使得两者管理同一块内存空间
不能将父类赋值给子类
对象也可以通过(类名字)进行强制类型转换,这个过程叫做造型,但是这个过程不总是安全的,这取决与被造型对象程序运行到目前位置时的类型
比如定义一个父类的对性管理者a,同事new一个子类对象交给他管理-----这是可行的
将父类对象a直接赋值给一个子类对象--这是不可行的
但可以通过(子类类型)将父类类型强制转换,再赋值给子类---只是可行的
类型转换不同于造型
int b = (int)10.2;这时10.2被转化为10
class1 a = new class1();
b= (class2)a;
这里是将a临时看成class2类型的变量,而并没有对其做任何改变
类变量是变量的管理者
子类对象可以赋值给父类对象
子类对象可以传值给需要父类对象的函数
子类对象可以船只给需要父类对象的容器
多态对象
Java中所有对象变量都是多态的,变量有静态的声明类型和动态类型程序运行到这里时的具体类型
向上造型cast
将一个子类对象赋值给他的父类对象的过程叫做向上造型(就是将子类对象赋值给父类变量) 实际上是使得两者管理同一块内存空间
不能将父类赋值给子类
对象也可以通过(类名字)进行强制类型转换,这个过程叫做造型,但是这个过程不总是安全的,这取决与被造型对象程序运行到目前位置时的类型
比如定义一个父类的对性管理者a,同事new一个子类对象交给他管理-----这是可行的
将父类对象a直接赋值给一个子类对象--这是不可行的
但可以通过(子类类型)将父类类型强制转换,再赋值给子类---只是可行的
类型转换不同于造型
int b = (int)10.2;这时10.2被转化为10
class1 a = new class1();
b= (class2)a;
这里是将a临时看成class2类型的变量,而并没有对其做任何改变