码迷,mamicode.com
首页 > 其他好文 > 详细

【七】对象的转型

时间:2015-01-12 23:48:39      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

 

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

也就是说指向的是子类中的复写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);
        
    }
}

 

【七】对象的转型

标签:

原文地址:http://www.cnblogs.com/codetochangetheworld/p/4220043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!