Java中继承子类对父类的引用问题
来源:互联网 发布:大数据应用启示录 编辑:程序博客网 时间:2024/06/05 03:24
定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。可以通过
Cat c = new Cat();
实例化一个Cat的对象,这个不难理解。但当这样定义时:
Animal a = new Cat();
这代表什么意思呢?
很简单,它表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象。由于Cat是继承自它的父类Animal,所以Animal类型的引用是可以指向Cat类型的对象的。那么这样做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特,
定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。
所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;
同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;
对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。
Cat c = new Cat();
实例化一个Cat的对象,这个不难理解。但当这样定义时:
Animal a = new Cat();
这代表什么意思呢?
很简单,它表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象。由于Cat是继承自它的父类Animal,所以Animal类型的引用是可以指向Cat类型的对象的。那么这样做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特,
定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。
所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;
同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;
对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。
阅读全文
0 0
- Java中继承子类对父类的引用问题
- java中子类继承自父类的权限问题
- java中protected 继承 父类引用指向子类对象
- java中的继承-子类继承父类的权限问题
- Java基础-父类对象对子类对象的引用
- java 中子类如何实现对父类私有域的继承
- java中子类继承父类程序执行顺序问题
- java中子类继承父类程序执行顺序问题
- 关于类继承中子类方法比父类方法丰富,一个引用值传递的小问题
- Java中子类继承父类方法应该注意的问题
- java中子类继承父类自动调用父类无参构造方法的问题
- 关于Java中子类能否继承和重写父类的静态方法问题
- Java中,父类引用指向子类对象的问题分析
- java中,子类能不能继承父类的构造方法?
- java中子类继承了父类的哪些成员
- java中子类能不能继承父类的私有成员
- Java继承中子类与父类的关系
- Java中继承时的问题——子类和父类在(或不在)同一个包中的继承
- atom前端常用插件
- linux自动连接校园网设置
- SQL分组统计查询
- 笔记-话题模型&LDA
- RocketMQ 源码分析 —— 高可用
- Java中继承子类对父类的引用问题
- 解决增删改查
- 系统分析师--经济管理2:企业相关--业绩评价
- linux常用命令
- assert(0)
- 《大数据架构详解》读后感
- Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) B
- 剑指offer 编程题(27):数组中出现次数统计
- JSON遇到中文乱码问题的解决方法