Java上转型、隐藏、覆盖与动态绑定
来源:互联网 发布:yunos应用中心软件 编辑:程序博客网 时间:2024/06/07 03:51
对象的上转型即声明一个父类类型的变量,但将子类的实例赋给了它。或叫父类变量指向了子类对象。有什么意义呢?因为子类是对父类的改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特。定义一个父类类型的引用指向一个子类的对象既可以使用子类更强大的功能,又可以抽取父类的共性。
例如:
People p1=new Student();//赋值相容,上转型,子类对象即是父类对象Student s1=new People();//赋值不相容,编译错误,父类对象不是子类对象
对于成员,如果父类有,子类没有,则子类继承;如果父类没有,子类有,则属于子类增加的;
如果父类子类都有,便属于隐藏或覆盖。其中对于成员变量和静态方法,属于隐藏;对于实例方法,属于覆盖。
一般的,子类对象调用子类的成员,父类对象调用父类的成员。但对于上转型的对象,则调用成员变量和静态方法时,调用的是父类的,因此叫隐藏成员变量和静态方法。
对于成员变量和静态方法,子类的隐藏父类的。上转型对象引用的是父类的。
对于实例成员方法,子类覆盖父类的。上转型对象引用的是子类的。这种方式称为动态绑定。
- Java上转型、隐藏、覆盖与动态绑定
- java动态绑定与转型
- 向上转型:动态绑定--[Java]
- Java静态绑定与动态绑定 隐藏 多态
- java覆盖与隐藏
- java多态、动态绑定与静态绑定、向上转型、传值引用和传引引用
- 【java】深入向上转型(动态绑定)
- java继承向上转型和向下转型和动态绑定
- java继承向上转型和向下转型和动态绑定
- java继承向上转型和向下转型和动态绑定
- java上转型与下转型
- 基于Java代码对this,动态绑定,覆盖和隐藏的探讨和思考
- java继承覆盖与向上转型,权限
- Java中的覆盖与隐藏
- java中转型(upcasting)与动态绑定(dynamic binding)或者后期(late binding)细节
- java中转型(upcasting)与动态绑定(dynamic binding)或者后期(late binding)细节
- Java域隐藏、静态方法隐藏、动态绑定、静态绑定
- Java 基础(8)—— 向上转型、向下转型、动态绑定、静态绑定
- MFC多文档程序如何关闭子窗体, MDIDestroy();
- 阿里巴巴面试题
- SurfaceView的几个基本步骤
- cout格式化输出
- HDU1031--Design T-Shirt HDU(154)
- Java上转型、隐藏、覆盖与动态绑定
- hdu 2883 (最大流)
- poj 3641 Fermat 与素数的判断
- 一 造成segment fault,产生core dump的可能原因
- jQuery获取Radio,CheckBox选择的Value值
- Java应用开发的一条重要经验:先建立基础设施
- Adding RF 433MHz to your Arduino
- 代理模式【Proxy Pattern】
- Ruby使用HTTP协议发送请求