首页 > 代码库 > 【七】对象的转型

【七】对象的转型

 

一个子类的对象向上转型给了一个父类的对象,父类中调用的属性和方法都是指向的子类对象的。

也就是说指向的是子类中的复写override的方法。

向上转型是不可能会失败的。

//一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型//一个引用调用的是哪一个方法,取决于这个引用所指向的对象class Test{    public static void main(String args []){        //Student s = new Student();        //Person p = s;        Person p = new Student();//向上转型        Student s = (Student)p;//向下转型,必须先向上转型才能向下转型,否则是错误的转型                        p.name = "zhangsan";        p.age = 20;        //错误的p.address = "Beijing";        p.introduce();            }}
class Person{    String name;    int age;        void introduce(){        System.out.println("my name is " + name +",my age is " + age);    }    }
class Student extends Person{    String address;    void study(){        System.out.println("我正在学习");    }    void introduce(){        super.introduce();        System.out.println("我的家在"+ address);            }}

 

【七】对象的转型